作为开发者我们需要经常站在用户角度考虑问题,比如在应用商城下载软件时,当用户点击下载按钮,则会有下载进度提示页面出现,现在我们通过线程休眠的方式模拟下载进度更新的演示,如图(这里为了截图方便设置对话进度条位于屏幕上方):
layout界面代码(仅部署一个按钮):
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:orIEntation="vertical" androID:layout_wIDth="match_parent"androID:layout_height="match_parent"><buttonandroID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:text="下载"//真正项目时建议将文本资源统一定义配置在res下的strings.xml中androID:onClick="begin"/></linearLayout>
Java代码实现(通过线程实现模拟下载进度更新):
public class ProgressbarDemo extends AppCompatActivity {@OverrIDeprotected voID onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentVIEw(R.layout.progressbar);}public voID begin(VIEw v) {//实例化进度条对话框(ProgressDialog)final ProgressDialog pd = new ProgressDialog(this);pd.setTitle("请稍等");//设置对话进度条样式为水平pd.setProgressstyle(ProgressDialog.STYLE_HORIZONTAL);//设置提示信息pd.setMessage("正在玩命下载中......");//设置对话进度条显示在屏幕顶部(方便截图)pd.getwindow().setGravity(Gravity.top);pd.setMax(100);pd.show();//调用show方法显示进度条对话框//使用匿名内部类实现线程并启动new Thread(new Runnable() {int initial = 0;//初始下载进度@OverrIDepublic voID run() {while(initial<pd.getMax()){//设置循环条件pd.setProgress(initial+=40);//设置每次完成40try {Thread.sleep(1000);} catch (InterruptedException e) {e.printstacktrace();}}pd.dismiss();//进度完成时对话框消失}}).start();}}
以上所述是小编给大家介绍的AndroID 中通过实现线程更新Progressdialog (对话进度条),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
总结以上是内存溢出为你收集整理的Android 中通过实现线程更新Progressdialog (对话进度条)全部内容,希望文章能够帮你解决Android 中通过实现线程更新Progressdialog (对话进度条)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)