android 进度条组件ProgressBar
更新时间:2016年09月05日 09:36:45 作者:再见,少年
本文主要介绍android 进度条组件ProgressBar,这里整理进度条的实现代码和效果图,帮助大家学习理解Android 进度条的知识,有兴趣的小伙伴可以参考下
首先是main.xml文件
代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ProgressBar android:id="@+id/myprobarA" style="?android:attr/progressBarStyle" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarB" style="?android:attr/progressBarStyleHorizontal" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarC" style="?android:attr/progressBarStyleHorizontal" android:visibility="gone" android:max="120" android:progress="0" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarD" android:visibility="gone" android:max="120" android:progress="50" android:secondaryProgress="70" style="?android:attr/progressBarStyleLarge" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarE" android:visibility="gone" android:max="120" android:progress="50" android:secondaryProgress="70" style="?android:attr/progressBarStyleSmall" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <Button android:id="@+id/mybut" android:text="显示进度条" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
然后编写Activity.java类
代码如下:
package com.example.myfirstproject; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.app.Activity; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.*; public class MainActivity extends Activity { private ProgressBar myprobarA,myprobarB,myprobarC,myprobarD,myprobarE; private Button mybut; protected static final int STOP = 1; protected static final int CONTINUE = 2; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.myprobarA = (ProgressBar)this.findViewById(R.id.myprobarA); this.myprobarB = (ProgressBar)this.findViewById(R.id.myprobarB); this.myprobarC = (ProgressBar)this.findViewById(R.id.myprobarC); this.myprobarD = (ProgressBar)this.findViewById(R.id.myprobarD); this.myprobarE = (ProgressBar)this.findViewById(R.id.myprobarE); this.mybut = (Button)this.findViewById(R.id.mybut); this.myprobarA.setIndeterminate(false); this.myprobarB.setIndeterminate(false); this.myprobarC.setIndeterminate(true); this.myprobarD.setIndeterminate(false); this.myprobarE.setIndeterminate(false); this.mybut.setOnClickListener(new OnClickListenerlmpl()); } private class OnClickListenerlmpl implements OnClickListener{ public void onClick(View view){ MainActivity.this.myprobarB.setSecondaryProgress(0); MainActivity.this.myprobarA.setVisibility(View.VISIBLE); MainActivity.this.myprobarB.setVisibility(View.VISIBLE); MainActivity.this.myprobarC.setVisibility(View.VISIBLE); MainActivity.this.myprobarD.setVisibility(View.VISIBLE); MainActivity.this.myprobarE.setVisibility(View.VISIBLE); MainActivity.this.myprobarA.setMax(120); MainActivity.this.myprobarB.setMax(120); MainActivity.this.myprobarA.setProgress(0); MainActivity.this.myprobarB.setProgress(0); new Thread(new Runnable(){ public void run(){ int count = 0; for(int i = 0;i < 10;i++){ try{ count = (i+1)*20; Thread.sleep(500); if(i==6){ Message m = new Message(); m.what = MainActivity.STOP; MainActivity.this.myMessageHandler.sendMessage(m); break; }else{ Message m = new Message(); m.arg1 = count; m.what = MainActivity.CONTINUE; MainActivity.this.myMessageHandler.sendMessage(m); } }catch(Exception ex){ ex.printStackTrace(); } } } }).start(); } } private Handler myMessageHandler = new Handler(){ public void handleMessage(Message msg){ switch(msg.what){ case MainActivity.STOP: myprobarA.setVisibility(View.GONE); myprobarB.setVisibility(View.GONE); myprobarC.setVisibility(View.GONE); myprobarD.setVisibility(View.GONE); myprobarE.setVisibility(View.GONE); Thread.currentThread().interrupt(); break; case MainActivity.CONTINUE: if(!Thread.currentThread().isInterrupted()){ myprobarA.setProgress(msg.arg1); myprobarB.setProgress(msg.arg1); myprobarC.setProgress(msg.arg1); myprobarD.setProgress(msg.arg1); myprobarE.setProgress(msg.arg1); } break; } } }; }
运行效果:
以上就是对 Android 进度条的知识整理,后续继续补充相关知识,谢谢大家对本站的支持!
您可能感兴趣的文章:
- android ListView和ProgressBar(进度条控件)的使用方法
- Android三种方式实现ProgressBar自定义圆形进度条
- Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
- Android ProgressBar进度条使用详解
- Android编程之ProgressBar圆形进度条颜色设置方法
- Android编程实现自定义ProgressBar样式示例(背景色及一级、二级进度条颜色)
- Android ProgressBar直线进度条的实例代码
- Android编程实现类似于圆形ProgressBar的进度条效果
- Android开发之ProgressBar字体随着进度条的加载而滚动
- Android UI控件之ProgressBar进度条
相关文章
Android编程之ListPreference用法实例分析
这篇文章主要介绍了Android编程之ListPreference用法,结合实例形式较为详细的分析说明了ListPreference的功能、用法及相关注意事项,需要的朋友可以参考下2015-12-12
最新评论