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() {
-
-
- 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是居中显示的。