AndroidUI的组成部分ProgressBar

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

时间: 2024-10-06 06:57:59

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

AndroidUI组件之ProgressBar

package com.gc.progressbar; /* * 1.ProgressBar组件也是一组重要的组件,ProgressBar本身代表了进度条组件, * 它还派生了两个常用的组件:SeekBar和RatingBar. * 2.进度条的功能与用法: * 进度条通常用于向用户显示某个耗时操作完成的百分比,进度条可以动态地显示进度 * 因此避免长时间地执行某个耗时操作时,让用户感觉程序失去了响应. * Android支持如下几种风格的进度条,通过style属性可以为ProgressBar指

安卓学习————安卓控件之ProgressBar

ProgressBar ProgressBar,进度条,是AndroidUI界面中一个非常实用的组件,通常用于向用户显示某个耗时操作完成的百分比.因此它需要动态的显示进度,从而避免长时间的执行某个耗时的操作,而让用户感觉程序失去了相应,从而提高界面的友好性. 从官方文档上看,为了适应不同的应用环境,Android内置了几种风格的进度条,可以通过Style属性设置ProgressBar的风格.支持如下属性,后面在示例中会一一展示: @android:style/Widget.ProgressBar

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

easyui学习的基本组成部分(八个部分)硕果仅存searchbox和pargressbar.tooltip该,有一点兴奋.本文将偏向searchbox和pargressbar做一个探讨.鉴于双方的内容不会太多,在这里,直接此事合并! searchbox 不用过多解释,仅仅要用于用户对数据的搜索.使用$.fn.searchbox.defaults重载默认值. 依赖组件:菜单button. searchbox提示用户输入搜索值.它能够设定一个类别菜单,同意用户选择不同的搜索类别.当用户点击确认bu

WinFrom ProgressBar控件的使用

在WinForm程序中,大多数情况下我们是知道程序运行所需要的时间或步骤的,比如批量复制文件时文件的数量,数据导出或导入时数据的总行数等等.对于步骤比较确定的操作,如果程序执行过程时间较长,很容易使用BackgroundWorker结合ProgressBar来显示一个实时的进度.相关内容大家可以看我博客中的其它文章,有关如何使用BackgroundWorker和ProgressBar.但是,有的时候我们是不确定程序执行的具体步骤或时长的,比如连接一个远程服务或数据库服务,或者调用一个远程过程或W

Android学习笔记(24):进度条组件ProgressBar及其子类

ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related Method Description style 设置ProgressBar指定风格 android:indeterminate 设置为true时,进度条不显示运行进度 android:indeterminateBehavior indeterminate模式下.当进度条达到最大值时的动画处理行为

Android 利用代码在屏幕中间位置显示ProgressDialog和ProgressBar

package cc.testprogressdialog; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.P

android--UI相关常用类简介

一.Canvas类android.graphics.Canvas Canvas类好比手机中的画纸,我们可以在Canvas上画图形或者图像.一般我们用android来绘画的时候,需要四个组成部分: 1.位图:包含像素 2.Canvas画板:包含绘画内容,写入位图 3.初始图形:如Rect.Bitmap.text等 4.Paint:用来描述上面初始图形的颜色和类型等 Canvas类提供了三个构造方法: Public Canvas():构造一个默认无参的Canvas对象 Public Canvas(B

EasyUI系列学习(八)-ProgressBar(进度条)

一.创建组件 1.class加载 <div class="easyui-progressbar"></div> 2.js加载 <div id="pb"></div> <script> $(function () { $("#pb").progressbar(); }) </script> 二.属性 <div id="pb"></div&g

EasyUI - Progressbar 进度条控件

效果: html代码: <div id="p" style="width:400px;"></div> JS代码: $(function () { $('#p').progressbar({ value: 60 }); })