dialog设置大小
- WindowManager.LayoutParams windowParams = dialog.getWindow().getAttributes();
- windowParams.width = width; // 设置宽度
- windowParams.height = height; // 设置高度
- dialog.getWindow().setAttributes(windowParams);
Dialog的创建方式有两种:
一是直接new一个Dialog对象,然后调用Dialog对象的show和dismiss方法来控制对话框的显示和隐藏。
二是在Activity的onCreateDialog(int id)方法中创建Dialog对象并返回,然后调用Activty的showDialog(int id)和dismissDialog(int id)来显示和隐藏对话框。
区别在于通过第二种方式创建的对话框会继承Activity的属性,比如获得Activity的menu事件等。
使用AlertDialog可以创建普通对话框、带列表的对话框以及带单选按钮和多选按钮的对话框。
Dialog标题去掉
setTitle 不设
Dialog自定义样式
setView
Dialog再自定义风格
1.首先在资源里面建立style的value;
<!-- ShareDialog -->
<style name="Theme.ShareDialog" parent="Android:style/Theme.Dialog">
<item name="Android:windowBackground">@drawable/fill_box</item>
<item name="Android:windowNoTitle">true</item>
</style>
2.drawable/filled_box.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.android.com/apk/res/android">
<shape>
<stroke Android:width="3dp" />
<corners Android:radius="3dp" />
<padding Android:left="10dp" android:top="10dp" android:right="10dp"
Android:bottom="10dp" />
</shape>
<item Android:drawable="@drawable/dialog_my_bg" />
</selector>
3.方法:
public static Dialog getDialog(final Context context, final String name) {
final Dialog dialog = new Dialog(context, R.style.Theme_ShareDialog);
dialog.setContentView(R.layout.dialog_share_comment);
Button btnshare = (Button) dialog.findViewById(R.id.dialog_btn_ok);
btnshare.setOnClickListener(new Button.OnClickListener() {
public void onClick(View view) {
}
});
return dialog;
}
其中 dialog.setContentView(R.layout.dialog_share_comment);是对话框的布局
new Dialog(context, R.style.Theme_ShareDialog);引用style
4.调用
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.article_row);
getDialog(this, "Hie").show();
}