Android 7.0 去掉了很多 ProgressDialog 的方法,导致网上的定制教程无法使用,所以最好的办法就是最原始的办法:

继承 ProgressDialog 自定义自己的 ProgressDialog

 public class XmlProgressDialog extends ProgressDialog {        TextView mTextView;        TextView mTitleView;        ProgressBar mProgressBar;        public XmlProgressDialog(Context context) {            super(context);        }        public XmlProgressDialog(Context context, int theme) {            super(context, theme);        }        @Override        protected void onCreate(Bundle savedInstanceState)        {            super.onCreate(savedInstanceState);            setContentView(R.layout.progress_dialog_layout);            mTitleView = (TextView) findViewById(R.id.dialog_title);            mTextView = (TextView) findViewById(R.id.progress_label);            mProgressBar = (ProgressBar) findViewById(R.id.progressBar);        }        @Override        public void setProgress(int value) {            super.setProgress(value);            mTextView.setText(value + "%");            mProgressBar.setProgress(value);        }        @Override        public void setTitle(CharSequence title) {            super.setTitle(title);            mTitleView.setText(title);        }    }

后台显示进度使用 AsyncTask

 class xmlProgress extends AsyncTask {        String title;        int i = 0;        ProgressDialog mXmlProgressDialog = new XmlProgressDialog(MainActivity.this, ProgressDialog.STYLE_HORIZONTAL);        @Override        protected void onPreExecute() {            super.onPreExecute();            mXmlProgressDialog.show();        }        @Override        protected String doInBackground(String... aurl) {            title = aurl[0];            while (i++ < 100)            {                try {                    Thread.sleep(200);                    publishProgress("" + i);                } catch (Exception e) {                    Log.d("log", "e:" + e.toString());                }            }            return null;        }        protected void onProgressUpdate(String... progress) {            Log.d("log",progress[0]);            mXmlProgressDialog.setProgress(i);            mXmlProgressDialog.setTitle(title);        }        @Override        protected void onPostExecute(String unused) {            //dismiss the dialog after the file was downloaded            mXmlProgressDialog.dismiss();        }    }

调用的时候,直接调用 exec 接口:

        new xmlProgress().execute("xml 解析进度");

xml 配置为:

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

最后显示如下:

更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. android 使用html5作布局文件: webview跟javascript交互
  6. Android(安卓)Resource介绍和使用
  7. "Failed to fetch URL https://dl-ssl.google.com/android/repos
  8. 使用NetBeans搭建Android开发环境
  9. android 零星调试笔记

随机推荐

  1. 作为一名Android开发者,怎样才能进入阿里,
  2. 将android工程作为另一个工程的库
  3. Android Log
  4. Android 实例化
  5. Android之单选按钮对话框
  6. Toast
  7. 如何解决Errors occurred during the bui
  8. android 自定义progressbar style
  9. android editText 自定义为圆角矩形背景
  10. android install location