700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android UI控件系列:ProgressBar(进度条)

Android UI控件系列:ProgressBar(进度条)

时间:2024-01-30 03:43:23

相关推荐

Android UI控件系列:ProgressBar(进度条)

后端开发|php教程

Android , UI控件,ProgressBar

后端开发-php教程

Android在执行一些后台操作的时候,比如加载游戏,播放歌曲时,用户根本不知道程序执行的进度情况,这时候,可以使用进度条来显示这些进度。

支付宝asp网站源码下载,ubuntu 14its,app内爬虫采集,php 钟表,seo日常检查lzw

Andorid系统提供两种进度条,长条形进度条(progressBarStyleHorizontal)和圆形进度条(progressBarStyleLarge),Android平台默认的进度条是第二种。另外,还可以在窗体的标题栏设置进度条,这就需要先对窗体的显示风格进行设置“requestWindowFeature(Window.FEATURE_PROGRESS)”;如果要显示这个进度条,还要使用setProgressBarVisibility(true);方法来使其显示

带vip影视网源码,ubuntu17拼音,c# ajax 爬虫,php json拼接,石龙SEO优化lzw

下面是个例子,分别由标题栏进度条,长条形进度条和圆形进度条组成,并用线程控制。

磁力网站源码,vscode在Win7,ubuntu 关进程,tomcat 并发下降,网络爬虫测评,php 错误日志 位置,仙桃产品seo推广哪家好,asp后台怎么加载网站,discuz 模板 语言包lzw

注意:圆形进度条是不会显示具体的进度的,而只是单纯的旋转

package org.hualang.progress;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.Window;import android.widget.Button;import android.widget.ProgressBar;public class ProgressBarTest extends Activity{ //声明ProgressBar对象 private ProgressBar pro1; private ProgressBar pro2; private Button btn; protected static final int STOP_NOTIFIER = 000; protected static final int THREADING_NOTIFIER = 111; public int intCounter=0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//设置窗口模式,,因为需要显示进度条在标题栏requestWindowFeature(Window.FEATURE_PROGRESS);//设置标题栏上的进度条可见setProgressBarVisibility(true);setContentView(R.layout.main);//取得ProgressBarpro1 = (ProgressBar) findViewById(R.id.progress1);pro2= (ProgressBar) findViewById(R.id.progress2);btn = (Button)findViewById(R.id.button);//设置进度条是否自动运转,即设置其不确定模式,false表是不自动运转pro1.setIndeterminate(false);pro2.setIndeterminate(false);//当按钮按下时开始执行, btn.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) {// TODO Auto-generated method stub//设置ProgressBar为可见状态pro1.setVisibility(View.VISIBLE);pro2.setVisibility(View.VISIBLE);//设置ProgressBar的最大值pro1.setMax(100);//设置ProgressBar当前值pro1.setProgress(0);pro2.setProgress(0);//通过线程来改变ProgressBar的值new Thread(new Runnable() { public void run() {for (int i = 0; i < 10; i++){ try {intCounter = (i + 1) * 20;Thread.sleep(1000);if (i == 4){ Message m = new Message(); m.what = ProgressBarTest.STOP_NOTIFIER; ProgressBarTest.this.myMessageHandler.sendMessage(m); break;}else{ Message m = new Message(); m.what = ProgressBarTest.THREADING_NOTIFIER; ProgressBarTest.this.myMessageHandler.sendMessage(m);} } catch (Exception e) {e.printStackTrace(); }} }}).start(); }}); }Handler myMessageHandler = new Handler(){ // @Override public void handleMessage(Message msg) {switch (msg.what){//ProgressBar已经是对大值case ProgressBarTest.STOP_NOTIFIER: pro1.setVisibility(View.GONE); pro2.setVisibility(View.GONE); Thread.currentThread().interrupt(); break;case ProgressBarTest.THREADING_NOTIFIER: if (!Thread.currentThread().isInterrupted()) {// 改变ProgressBar的当前值pro1.setProgress(intCounter);pro2.setProgress(intCounter);// 设置标题栏中前景的一个进度条进度值setProgress(intCounter*100);// 设置标题栏中后面的一个进度条进度值setSecondaryProgress(intCounter*100);// } break;}super.handleMessage(msg); }};}

main.xml

运行结果如下:

点击启动进度条按钮后,进度条将自动运行

当结束时,自动退出进度条程序,返回第一个图片的样子

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。