创建自定义的Dialog

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()就能修改对话框上面的文字


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值