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. 深入理解Tomcat系列之一:系统架构(转)

    前言 Tomcat是Apache基金组织下的开源项目,性质是一个Web服务器.下面这种情况很普遍:在eclipse床架一个web项目并部署到Tomcat中,启动tomcat,在浏览器中输入一个类似ht ...

  2. ActivityGroup简单介绍

    ActivityGroup简单介绍 1.ActivityGroup的核心就是继承了该类,可以通过getLocalActivityManager()得到一个LocalActivityManager 如, ...

  3. C++技术问题总结-第11篇 网络通信中主机序网络序

    网络通信常常涉及到字节序转化,接下来理解主机序和网络序有什么异同. ①主机字节顺序HBO(Host Byte Order) 採用小头序(little-endian),从低到高的顺序存储. 低位字节排放 ...

  4. 新一代自平衡电动代步工具Solo wheel!

    http://m.baidu.com/from=844b/bd_page_type=1/ssid=0/uid=3151E6C0905477A13653132D762BB6FB/pu=sz%401320 ...

  5. WebService之Soap头验证入门

    1.新建一个类,如"AuthHeaderUser",继承于"System.Web.Services.Protocols.SoapHeader"类 2.新建Web ...

  6. warning: directory not found for option &#39; &#39;

    解决: 选择项目名称-->Targets-->Build Settings-->Search Paths-->Library Search Paths 删除相应路径

  7. Nginx将请求分发到各web应用

    介绍了VMWare12虚拟机.Linux(CentOS7)系统安装.部署Nginx1.6.3代理服务做负载均衡.接下来介绍通过Nginx将请求分发到各web应用处理服务. 一.Web应用开发 1.as ...

  8. u-boot: Error: Can&#39;t overwrite &quot;ethaddr&quot;

    When try to execute following command, It reports error as following: --->8--- U-Boot> setenv ...

  9. android平台TextView使用ImageSpan画廊GIF图像

    android-gif-drawable(https://github.com/koral--/android-gif-drawable/releases)开源项目---是一个蛮不错的android ...

  10. 多线程——达到Runnable介面

    部分博客(多线程--继承Thread类)介绍了java多线程的第一种实现方法--继承Thread类.这篇博客介绍另外一种方法--实现Runnable接口,并实现run方法. 还用上篇博客的样例.如今用 ...