仿ios加载等待dialog

有点空 就写了个仿ios的加载等待dialog,没有图片只能将就一下啊,运行效果如下:
仿ios加载等待dialog_第1张图片

自定义dialog代码如下:

public class LoadingWaitDialog extends Dialog {

    private LayoutInflater inflater;
    private DisplayMetrics displayMetrics;
    private View view;
    private TextView tvTip;

    public LoadingWaitDialog(Context context) {
        //注意:一定要更该主题,不然在5.0上显示有问题
        super(context, R.style.chooseDialog);
        //获取渲染器
        inflater = LayoutInflater.from(context);
        //获取屏幕宽高信息
        displayMetrics = context.getResources().getDisplayMetrics();

    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //渲染布局
        view = inflater.inflate(R.layout.layout_wait_dialog, null);
        tvTip = (TextView) view.findViewById(R.id.tv_tip);
        //下面的可以拓展动态更改progressbar的样式
        ContentLoadingProgressBar progressBar = (ContentLoadingProgressBar) view.findViewById(R.id.progress);
    }

    @Override
    public void show() {
        super.show();
        //设置dialog的宽高设置,注意:一定要放在show的后面,否则无效
        WindowManager.LayoutParams params = getWindow().getAttributes();
        params.width = (int) (displayMetrics.widthPixels * 0.5);
        params.height = (int) (displayMetrics.widthPixels * 0.4);
        params.gravity = Gravity.CENTER;
        getWindow().setAttributes(params);
        getWindow().setContentView(view);
    }

}

在mainActivity中代码如下:

  @Override
    protected void onResume() {
        super.onResume();
        LoadingWaitDialog dialog = new LoadingWaitDialog(this);
        dialog.show();
    }

值得注意的是要定义dialog的主题,比如去除titile和那一根线,dialog的主题代码如下:

  

你可能感兴趣的:(Android)