进度条是一种非常实用的组件,下面我们来学习一下如何实用进度条


 android提供了几个进度条的样式:

   

  • Widget.ProgressBar.Horizontal
  • Widget.ProgressBar.Small
  • Widget.ProgressBar.Large
  • Widget.ProgressBar.Inverse
  • Widget.ProgressBar.Small.Inverse
  • Widget.ProgressBar.Large.Inverse
android学习----ProgressBar 进度条_第1张图片


ProgressBar组件的特有xml属性:

android学习----ProgressBar 进度条_第2张图片


下面通过案例来学习ProgressBar

(1)编写布局文件  activity_main.xml

               


(2)编写MainActivity.java

     由于要更新主线程UI,因此需要定义Handler来更新主线程

package com.example.progressbar;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.view.Menu;import android.widget.ProgressBar;import android.widget.TextView;public class MainActivity extends Activity {private ProgressBar progressBar = null;  //定义ProgressBarprivate TextView textView = null; //定义TextViewprivate static final int PROGRESS = 0x1;private int mProgressStatus =20; //当前进度private Handler mHandler = new Handler();  //定义Handler,用于更新主线程UI@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取布局组件this.progressBar = (ProgressBar) findViewById(R.id.progress1); this.textView = (TextView) findViewById(R.id.proText);//开启线程new Thread(new Runnable() {@Overridepublic void run() { while (mProgressStatus < 100) {                     mProgressStatus = doWork();                     //更新进度条和进度内容                     mHandler.post(new Runnable() {                         public void run() {                         progressBar.setProgress(mProgressStatus);                         textView.setText("当前进度:"+mProgressStatus+"%");                         }                     });                 }}}).start();}private int doWork(){mProgressStatus = mProgressStatus+1;try{Thread.sleep(100);}catch(Exception e){e.printStackTrace();}return mProgressStatus;}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

运行后,效果如下:

android学习----ProgressBar 进度条_第3张图片

更多相关文章

  1. android 渐变的半圆进度条
  2. Android Studio使用AIDL时无法找到自定义的类
  3. Android自定义View之一:初探实例
  4. 【Android】监听自定义通知栏消息事件
  5. 2.4.4 进度条
  6. [置顶] [Android自定义控件]Android中如何用代码写出优美的Button
  7. 继承FlexboxLayout自定义可自动换行的tag标签
  8. Android——自定义拦截器实现OKHttp网络请求

随机推荐

  1. Android硬件之传感器
  2. 【Gradle】Android(安卓)Gradle 插件
  3. android中使用OpenCV之调用设备摄像头
  4. Android中RelativeLayout各个属性介绍
  5. android:elevation属性,控制View底部渐变
  6. android客户端向服务端传汉字乱码问题
  7. 【目录】每次吃一点Android
  8. android 之button 屏幕翻转
  9. Android(安卓)混淆代码有关问题总结
  10. android知识点