1、先搞好一个等待框的布局:

<?xml version="1.0" encoding="utf-8"?>        

 这个布局是这样的:

Android:用DialogFragment实现LoadingDialog等待加载框_第1张图片

 

2、然后开始自定义个DialogFragment了:

/** * 等待弹框 */public class LoadingDialog extends DialogFragment {    private String msg = "正在加载";    private boolean onTouchOutside = true;    private TextView textView;    @Nullable    @Override    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        Objects.requireNonNull(Objects.requireNonNull(getDialog()).getWindow()).setBackgroundDrawableResource(android.R.color.transparent);        getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);        getDialog().setCanceledOnTouchOutside(onTouchOutside);        View loadingView = inflater.inflate(R.layout.dialog_loading, container);        textView= loadingView.findViewById(R.id.textView);        textView.setText(msg);        return loadingView;    }    public LoadingDialog setMsg(String msg) {        this.msg = msg;        if (textView!= null) {            textView.setText(msg);        }        return this;    }    public LoadingDialog setOnTouchOutside(boolean onTouchOutside) {        this.onTouchOutside = onTouchOutside;        if(getDialog() != null){            getDialog().setCanceledOnTouchOutside(onTouchOutside);        }        return this;    }}

 

3、使用:

private LoadingDialog loadingDialog;//显示等待框public void showLoading(String msg,boolean touch){    if(loadingDialog == null){        loadingDialog = new LoadingDialog();    }else{        loadingDialog.dismiss();    }    loadingDialog.setMsg(msg)            .setOnTouchOutside(touch)            .show(getSupportFragmentManager(),"loading");            //fragment的话就把getSupportFragmentManager参数换成getChildFragmentManager}//动态修改等待框中的文字public void setLoadingMsg(String msg){    if(loadingDialog == null){        return;    }    loadingDialog.setMsg(msg);}//隐藏等待框public void hideLoading(){    if(loadingDialog != null){        loadingDialog.dismiss();    }}

 打完,收工!

 

更多相关文章

  1. Android 加载.gif格式图片
  2. LinearLayout布局之weight
  3. Android 布局之LinearLayout
  4. 基本布局之线性布局(LinearLayout)
  5. android五种布局特点
  6. 在代码中设置RelativeLayout布局中标签的android:layout_toLeftO
  7. Android帧布局实现霓虹灯的效果

随机推荐

  1. color 颜色代码 android res/values/colo
  2. Android 小说阅读护眼模式
  3. Get things ready to develop android ap
  4. Android 最火的快速开发框架AndroidAnnot
  5. android Java代码的启动
  6. android编译过程
  7. Android小问题解决办法记录
  8. Android调起高德地图
  9. 自定义控件--虚线
  10. Android环境配置----在Ubuntu上安装JDK