1.首先创建一个对话框的类,继承Dialog;
public class MyDialog extends Dialog{
2.创建构造方法
public MyDialog(Context context) {
super(context, R.style.exitdialog);//这个是自定义的Style,下面有说明
}
3.创建oncreat方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置为我们的布局
setContentView(view);//这里得view是你自己的布局
// 设置为点击对话框之外的区域对话框不消失
this.setCanceledOnTouchOutside(false);
4.接下来实现你自己的操作就可以了
}
}
这里是自定义Style的代码
<style name="exitdialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>//是否悬浮
<item name="android:windowIsTranslucent">false</item>//是否半透明
<item name="android:windowNoTitle">true</item>//是否有标题
<item name="android:windowBackground">@drawable/quite_dialog_bg</item>//这里是背景
<item name="android:backgroundDimEnabled">true</item>//是否允许背景对话框变暗
</style>
如果你写的对话框包含ProgressBar的话
要注意一下几点:
1.关于ProgressBar动画效果的写法
<!-- 旋转图片的xml -->
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/progress"//这里是动画的图片
android:pivotX="50%"
android:pivotY="50%" />
2.写ProgressBar控件的时候要加上
android:indeterminateBehavior="repeat"//动画重复
android:indeterminateDrawable="@drawable/progress_drawable_large"//动画引入的资源
android:indeterminateDuration="500" //时间
还有一点值得注意如果你想要修改对话框上的文字的话写法如下
public class MyDialog extends Dialog {
public TextView mContext;// 内容
public MyDialog(Context context) {
super(context, R.style.exitdialog);
View view = View.inflate(context, R.layout.dialog_sussess, null);
mContext = (TextView) view.findViewById(R.id.sussess_context);
super.setContentView(view);
}
public void setText(String text) {
mContext.setText(text);
}
}
只要调用setText()就能修改对话框上面的文字