package com.gc.progressbar;
/*
* 1、ProgressBar组件也是一组重要的组件,ProgressBar本身代表了进度条组件,
* 它还派生了两个经常使用的组件:SeekBar和RatingBar。
* 2、进度条的功能与使用方法:
* 进度条通经常使用于向用户显示某个耗时操作完毕的百分比,进度条能够动态地显示运行进度
* 因此避免长时间地运行某个耗时操作时,让用户感觉程序失去了响应。
* Android支持例如以下几种风格的进度条。通过style属性能够为ProgressBar指定风格
* @android:style/Widget.ProgressBar.Horizontal-----水平进度条
* @android:style/Widget.ProgressBar.Inverse--------普通大小的环形进度条
* @android:style/Widget.ProgressBar.Large----------大环形进度条
* @android:style/Widget.ProgressBar.Large.Inverse---大环形进度条
* @android:style/Widget.ProgressBar.Small-----------小环形进度条
* @android:style/Widget.ProgressBar.Small.Inverse---小环形进度条
* 3、ProgressBar经常使用的XML属性:
* android:max-------------------设置该进度条的最大值
* android:progress--------------设置该进度条的已完毕进度值
* android:progressDrawable------设置该进度条的轨道相应的Drawable对象
* android:indeterminate---------该属性设为true。设置进度条不精确显示运行进度
* android:indeterminateDrawable-设置绘制不显示运行进度的进度条的Drawable对象
* android:indeterminateDuration-设置不精确显示运行进度的持续时间
* android:progressDrawable用于指定进度条的轨道的绘制形式,该属性可指定为
* 一个LayerDrawable对象(该对象可通过在XML文件里用<layer-list>元素进行配置 )的引用
* 4、ProgressBar提供了以下两个方法来操作进度
* setProgress(int) ---设置进度的完毕百分比
* incrementProgressBy(int)---设置进度条的进度添加或降低。当參数为正数时进度添加
* ,当參数为负数时进度降低。 */
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.widget.ProgressBar;
/**
*
* @author Android将军
*
*/
public class MainActivity extends Activity {
//该程序模拟填充长度为100的数组
private int [] data=new int[100];
private int hasData=0;
//记录ProgressBar的完毕进度
private int status=0;
private ProgressBar bar,bar2;
//创建一个负责更新的进度的Handler
Handler mHandler=new Handler()
{ @Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
//表明消息是由该程序发送的
if(msg.what==0x111)
{
bar.setProgress(status);
bar2.setProgress(status);
}
} }; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bar=(ProgressBar)findViewById(R.id.bar);
bar2=(ProgressBar)findViewById(R.id.bar2);
//启动线程来运行任务
new Thread()
{ public void run()
{
while(status<100)
{
//获取耗时操作的完毕百分比
status=doWork();
//发送消息
mHandler.sendEmptyMessage(0x111);
}
}
}.start();
} //模拟一个耗时的操作
public int doWork() {
// 为数组元素赋值
data[hasData++]=(int)(Math.random()*100);
try
{
Thread.sleep(100);
}catch(InterruptedException e)
{
e.printStackTrace();
}
return hasData;
} }
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
> <LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<!-- 定义一个大环形进度条 -->
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Large"
/>
<!-- 定义一个中等大小的环形进度条 -->
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<!-- 定义一个小环形进度条 -->
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Small"
/>
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="任务完毕的进度"
/>
<!-- 定义一个水平进度条 -->
<ProgressBar
android:id="@+id/bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100"
style="@android:style/Widget.ProgressBar.Horizontal"
/>
<!-- 定义一个水平进度条,并改变轨道外观 -->
<ProgressBar
android:id="@+id/bar2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100"
android:progressDrawable="@drawable/my_bar"
style="@android:style/Widget.ProgressBar.Horizontal"
/> </LinearLayout>

转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/25555633

AndroidUI的组成部分ProgressBar的更多相关文章

  1. AndroidUI的组成部分GridView

    java 代码例如以下(简单的知识点我会以凝视的形式解说): package com.gc.gridviewdemo; /** * @author Android将军 */ /** * 知识点解说: ...

  2. AndroidUI的组成部分RoomButton

    <!-- 知识点汇总: 1.Button与ImageButton的差别在于,Button生成的button上显示文字 而ImageButton上则显示图片.须要指出的是:为ImageButton ...

  3. Android--UI之ProgressBar

    前言 开门见山,开篇明意.这篇博客主要讲解一下Android中ProgressBar控件以及间接继承它的两个子控件SeekBar.RatingBar的基本用法,因为其有继承关系,存在一些共有特性,所以 ...

  4. 【转】Android--UI之ProgressBar--不错

    原文网址:http://www.cnblogs.com/plokmju/p/android_progressbar.html 前言 开门见山,开篇明意.这篇博客主要讲解一下Android中Progre ...

  5. EasyUI基础searchbox&amp;progressbar(搜索框,进度条)

    easyui学习的基本组成部分(八个部分)硕果仅存searchbox和pargressbar.tooltip该,有一点兴奋.本文将偏向searchbox和pargressbar做一个探讨.鉴于双方的内 ...

  6. [C#] (原创)一步一步教你自定义控件——04,ProgressBar(进度条)

    一.前言 技术没有先进与落后,只有合适与不合适. 本篇的自定义控件是:进度条(ProgressBar). 进度条的实现方式多种多样,主流的方式有:使用多张图片去实现.使用1个或2个Panel放到Use ...

  7. ProgressBar

    <1>基本信息设置 progressBar1.Maximum = 1000;    //设置ProgressBar的最大值 progressBar1.Value = 0;         ...

  8. android中ProgressBar和ListView

    ProgressBar进度条的使用情况: 进度条的.xml声明:如果不声明格式,则默认格式为转圆圈的形式,声明进度条的visibility为不可见. <ProgressBar android:i ...

  9. 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing

    [源码下载] 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing 作者:webabcd 介绍背水一 ...

随机推荐

  1. 下载jdk文件后缀是.gz而不是.tar.gz怎么办

    用chrom浏览器下载了linux版的jdk,发现文件后缀是.gz,没看过这玩意,一打开,还是一个.gz文件,原本以为是新文件后缀呢.那个百度google啊. . ..最后都没发现有这方面的资料啊.. ...

  2. aix 下 实现goldengate 随os启动而自己主动启动的脚本

    aix 下 实现goldengate 随os启动而自己主动启动的脚本: 1.用oracle用户建立/u01/info.txt,文件内容例如以下: sh date start mgr 2.chmod + ...

  3. 7.MongoDB java CRUD

    注意:要增加mongodb对应的jar包 package cn.toto.mongodb; import java.net.UnknownHostException; import org.bson. ...

  4. BZOJ 1176([Balkan2007]Mokia-CDQ分治-分治询问)

    1176: [Balkan2007]Mokia Time Limit: 30 Sec   Memory Limit: 162 MB Submit: 185   Solved: 94 [ Submit] ...

  5. WPF案例 (五) 对控件界面使用倒影

    原文:WPF案例 (五) 对控件界面使用倒影 在这个程序里对5个2D控件界面应用了垂直倒影,边缘模糊化和模型变换,在本例中,这5个2D控件为Border, 各包含了一幅Image,界面如下图所示,源码 ...

  6. Hama学习总结

    Hama学习笔记 1.       Hama定义 Hama是基于HDFS上的BSP模型实现,其执行不须要MapReduce. 例证例如以下: 在单点调试的Hama系统上,仅仅执行NameNode.Da ...

  7. Android 监听SMS短信

    当设备接收到一条新的SMS消息时,就会广播一个包括了android.provider.Telephony.SMS_RECEIVED动作的Intent. 注意,这个动作是一个字符串值,SDK 1.0不再 ...

  8. 一个用js写的接口http调试程序

    公司有非常多手机app的项目.手机app又要常常訪问后台提交与查询数据. 所曾经端app与后台的开发与測试过程中接口调试是一个常常要做的工作. 而每当出现一个BUG,前端appproject师与后台p ...

  9. Java8高中并发

    Java8中学并发 本文翻译自:http://jaxenter.com/lean-concurrency-in-java-8-49924.html 转载请注明出处:http://blog.csdn.n ...

  10. Linux下将UTF8编码批量转换成GB2312编码的方法

    Linux下将UTF8编码批量转换成GB2312编码的方法 在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换成GB2312编码,下面为大家介绍下在Linux ...