Android的DialogFragment的使用
在使用时,对Android系统有了最低API为11的限制
1.新建继承于DialogFragment的类
在类中由一个按钮,点击按钮关闭对话框。
layout中只有一个按钮,代码在此就不贴出来了。
public class Fragment_Search extends DialogFragment {
Button btn_close;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.search, container, false);
// 初始化控件
btn_close = (Button) v.findViewById(R.id.btn_cancel);
btn_close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 关闭对话框
dismiss();
}
});
return v;
}
2.使用Fragment的Activity
MainActivity类要继承FragmentActivity,因为在下面getSupportFragmentManager要用到
public class MainActivity extends FragmentActivity {
public Button btn_search;
Fragment_Search dialogFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_search = (Button) findViewById(R.id.btn_search);
btn_search.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
showSearchDialog();
}
});
}
protected void showSearchDialog() {
// Create and show the dialog.
if(dialogFragment == null)
dialogFragment = new Fragment_Search();
dialogFragment.setStyle(DialogFragment.STYLE_NO_TITLE, 0);
dialogFragment.show(getSupportFragmentManager(), "dialog");
}
}
改变DialogFragment的样式可以用setStyle改变
总结:
对话框已经显示出来了,但是不知如何改变显示出来的DialogFragment的大小,如果大家有改变大小的方法,一定回复啊……
我知道了一种改变大小的方法,不知道是不是一般应该用的,也就是改变内容的大小,不是说改变layout的padding的值或者高度宽度什么的,而是改变内容的padding。我改变的是一个关闭按钮的padding,这个按钮本来是android:layout_alignParentRight="true",改变padding变大之后,整个Dialog的高度变小了,默认Dialog是居中显示的。
期待大家还有更好的方法