首页 > 系统 > Android > 正文

Android 中通过实现线程更新Progressdialog (对话进度条)

2019-12-12 04:32:28
字体:
来源:转载
供稿:网友

作为开发者我们需要经常站在用户角度考虑问题,比如在应用商城下载软件时,当用户点击下载按钮,则会有下载进度提示页面出现,现在我们通过线程休眠的方式模拟下载进度更新的演示,如图(这里为了截图方便设置对话进度条位于屏幕上方):

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 (对话进度条),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有0条评论
用户名: 密码:
验证码: 匿名发表