关于自定义对话框(二)

前一篇已经说了其中的一种警告对话框,这篇说一下加载进度过程中的对话框,这种更简单,因为不牵扯到对话框内部的业务逻辑实现,只是在加载过程中的一种显示而已(比如页面跳转过程)
老样子,上一张图 我相信你们就看明白了!

关于自定义对话框(二)_第1张图片

当然 ,小伙伴们肯定看出来了,我这里用的原生的ProgressBar。
style=”@android:style/Widget.ProgressBar”
在实际开发中,有时会需求自定义这个ProgressBar样式,到时替换一下style即可

MainActivity代码:

package com.example.lenovo.dialog;

import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;


public class MainActivity extends Activity implements View.OnClickListener{
    private Dialog dialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(this);
    }
    @Override
    public void onClick(View v) {
        switch(v.getId()){
            case R.id.button:
                //创建对话框
                dialog = new Dialog(this);
                View view = LayoutInflater.from(this).inflate(R.layout.dialog,null);
                //给Dialog中的子view设置事件监听
                dialog.setContentView(view);
                //自定义宽高
                WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
                params.width = 900;
                dialog.getWindow().setAttributes(params);
                //显示对话框
                dialog.show();
                //这里是在show之后设置触摸屏无效,但返回键有效
                dialog.setCanceledOnTouchOutside(false);
                //模拟页面跳转的耗时
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            Thread.sleep(3000);
                            dialog.dismiss();
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
                break;
        }
    }
}

完事! 是不是也是 so easy !!

你可能感兴趣的:(关于自定义对话框(二))