自定义Dialog 简述

来源:互联网 发布:欧美直播软件 编辑:程序博客网 时间:2024/05/28 16:08
1.编写Dialog类继承类
public class LoadingDialog extends Dialog {private Context mContext;private LayoutInflater inflater;private LayoutParams lp;private TextView loadtext;public LoadingDialog(Context context) {super(context, R.style.Dialog);this.mContext = context;inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View layout = inflater.inflate(R.layout.loadingdialog, null);loadtext = (TextView) layout.findViewById(R.id.loading_text);setContentView(layout);// 设置window属性lp = getWindow().getAttributes();lp.gravity = Gravity.CENTER;lp.dimAmount = 0; // 去背景遮盖lp.alpha = 1.0f;
//lp.y=100;//lp.x=90;//lp.height = height;//lp.width = width;
// 设置点击对话框之外能消失setCanceledOnTouchOutside(true);getWindow().setAttributes(lp);}public void setLoadText(String content){loadtext.setText(content);}}
2.定义style:
    <style name="Dialog" parent="@android:style/Theme.Dialog">        <item name="android:windowBackground">@color/full_transparent</item>        <item name="android:windowFrame">@null</item>        <item name="android:windowNoTitle">true</item>        <item name="android:windowIsFloating">true</item>        <item name="android:windowIsTranslucent">false</item>        <item name="android:windowContentOverlay">@null</item>         <item name="android:background">@null</item>        <item name="android:backgroundDimEnabled">true</item>    </style>
3.在Activity中实例化即可。