当前位置: 移动技术网 > IT编程>移动开发>Android > Android 中通过实现线程更新Progressdialog (对话进度条)

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

瓜田李下之嫌,西湖龙井属于什么茶,995黄金网

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

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">
<button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下载"//真正项目时建议将文本资源统一定义配置在res下的strings.xml中
android:onclick="begin"/>
</linearlayout>

java代码实现(通过线程实现模拟下载进度更新):

public class progressbardemo extends appcompatactivity {
@override
protected 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;//初始下载进度
@override
public void run() {
while(initial<pd.getmax()){//设置循环条件
pd.setprogress(initial+=40);//设置每次完成40
try {
thread.sleep(1000);
} catch (interruptedexception e) {
e.printstacktrace();
}
}
pd.dismiss();//进度完成时对话框消失
}
}).start();
}
}

以上所述是小编给大家介绍的android 中通过实现线程更新progressdialog (对话进度条),希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网