怎么在android中利用ProgressDialog实现一个全屏效果-创新互联
                                            怎么在android中利用ProgressDialog实现一个全屏效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

ProgressDialog的创建方式有两种,一种是new Dialog ,一种是调用Dialog的静态方法Dialog.show()。
// 方式一:new Dialog final ProgressDialog dialog = new ProgressDialog(this); dialog.show(); // 方式二:使用静态方式创建并显示,这种进度条只能是圆形条,设置title和Message提示内容 ProgressDialog dialog2 = ProgressDialog.show(this, "提示", "正在登陆中"); // 方式三 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean indeterminate设置是否是不明确的状态 ProgressDialog dialog3 = ProgressDialog.show(this, "提示", "正在登陆中", false); // 方式四 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean cancelable 设置是否进度条是可以取消的 ProgressDialog dialog4 = ProgressDialog.show(this, "提示", "正在登陆中", false, true); // 方式五 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数 DialogInterface.OnCancelListener // cancelListener用于监听进度条被取消 ProgressDialog dialog5 = ProgressDialog.show(this, "提示", "正在登陆中", true, true, cancelListener);
方式五中需要一个cancelListener,代码如下:
private OnCancelListener cancelListener = new OnCancelListener() {
  @Override
  public void onCancel(DialogInterface dialog) {
    // TODO Auto-generated method stub
    Toast.makeText(MainActivity.this, "进度条被取消", Toast.LENGTH_LONG).show();
  }
};本文的知识点:
1、实现ProgressDialog的全屏效果
2、接口回调推荐的方式

项目要求实现的效果.png

刚开始实现的效果.png
代码实现:
1、布局
2、核心代码
Window window = getWindow(); WindowManager.LayoutParams layoutParams = window.getAttributes(); layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT; layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT; layoutParams.gravity = gravity; window.setAttributes(layoutParams);
3、接口回调的实现方式
 public OnClickCancelListener mOnClickCancelListener;
 public void setOnClickCancelListener(OnClickCancelListener onClickCancelListener){
  this.mOnClickCancelListener = onClickCancelListener;
 }
 public interface OnClickCancelListener{
  void singleClick();
 }4、接口回调的调用方式
mLoadingProgressDialog.setOnClickCancelListener(new LoadingProgressDialog.OnClickCancelListener() {
   @Override
   public void singleClick() {
    LogUtil.d(TAG,"点击取消查询===========");
    isContinueQuery = true;
    dismissPayResultLoadingDialog();
   }
  });5、全部代码实现
public class LoadingProgressDialog extends ProgressDialog {
 private static final String TAG = LoadingProgressDialog.class.getSimpleName();
 public LoadingProgressDialog(Context context) {
  super(context,R.style.style_custon_dialog);
  setCancelable(false);
  setCanceledOnTouchOutside(false);
 }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.custom_dialog_all_loading);
  Window window = getWindow();
  WindowManager.LayoutParams layoutParams = window.getAttributes();
  layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
  layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
  layoutParams.gravity = gravity;
  window.setAttributes(layoutParams);
  Button benCancel = (Button) findViewById(R.id.btn_cancel);
  benCancel.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    LogUtil.d(TAG,"benCancel================");
    mOnClickCancelListener.singleClick();
   }
  });
 }
 public OnClickCancelListener mOnClickCancelListener;
 public void setOnClickCancelListener(OnClickCancelListener onClickCancelListener){
  this.mOnClickCancelListener = onClickCancelListener;
 }
 public interface OnClickCancelListener{
  void singleClick();
 }
}关于怎么在android中利用ProgressDialog实现一个全屏效果问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
本文题目:怎么在android中利用ProgressDialog实现一个全屏效果-创新互联
分享链接:http://www.scyingshan.cn/article/dhdsic.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 