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
AndroidUI的组成部分ProgressBar的更多相关文章
- AndroidUI的组成部分GridView
java 代码例如以下(简单的知识点我会以凝视的形式解说): package com.gc.gridviewdemo; /** * @author Android将军 */ /** * 知识点解说: ...
- AndroidUI的组成部分RoomButton
<!-- 知识点汇总: 1.Button与ImageButton的差别在于,Button生成的button上显示文字 而ImageButton上则显示图片.须要指出的是:为ImageButton ...
- Android--UI之ProgressBar
前言 开门见山,开篇明意.这篇博客主要讲解一下Android中ProgressBar控件以及间接继承它的两个子控件SeekBar.RatingBar的基本用法,因为其有继承关系,存在一些共有特性,所以 ...
- 【转】Android--UI之ProgressBar--不错
原文网址:http://www.cnblogs.com/plokmju/p/android_progressbar.html 前言 开门见山,开篇明意.这篇博客主要讲解一下Android中Progre ...
- EasyUI基础searchbox&progressbar(搜索框,进度条)
easyui学习的基本组成部分(八个部分)硕果仅存searchbox和pargressbar.tooltip该,有一点兴奋.本文将偏向searchbox和pargressbar做一个探讨.鉴于双方的内 ...
- [C#] (原创)一步一步教你自定义控件——04,ProgressBar(进度条)
一.前言 技术没有先进与落后,只有合适与不合适. 本篇的自定义控件是:进度条(ProgressBar). 进度条的实现方式多种多样,主流的方式有:使用多张图片去实现.使用1个或2个Panel放到Use ...
- ProgressBar
<1>基本信息设置 progressBar1.Maximum = 1000; //设置ProgressBar的最大值 progressBar1.Value = 0; ...
- android中ProgressBar和ListView
ProgressBar进度条的使用情况: 进度条的.xml声明:如果不声明格式,则默认格式为转圆圈的形式,声明进度条的visibility为不可见. <ProgressBar android:i ...
- 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing
[源码下载] 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing 作者:webabcd 介绍背水一 ...
随机推荐
- Android bluetooth介绍(四): a2dp connect流程分析
关键词:蓝牙blueZ A2DP.SINK.sink_connect.sink_disconnect.sink_suspend.sink_resume.sink_is_connected.sink_ ...
- VBoxGuestAdditions.iso下载地址
http://download.virtualbox.org/virtualbox/4.1.2/VBoxGuestAdditions_4.1.2.iso 其它版本号可依次判断..
- 158个JAVA免豆精品资料汇总
附件完整版下载地址: http://down.51cto.com/data/431561 附件部分预览~ java中国移动收费系统[源代码] http://down.51cto.com/data/70 ...
- 用XAML做网页!!—页头
原文:用XAML做网页!!-页头 接续上次进度,我们此次来制作页头. 首先要实现两侧边缘的美化,如下图所示: 在边缘处有一层朦胧的亮度反光效果,这也是通过简单的渐变实现的,而且我们在后面的每个区块中都 ...
- win7问题解决,凭据管理器和无法访问,不允许一个用户使用一个以上用户名与服务器或共享资源进行多重连接。
WIN7凭据管理器,如果你用一个帐号远程登录以后在电脑中会记住这个信息,假如你想用另外的帐号,那么就到控制面板-凭据管理器里中进行修改或者删除. 如果你登录以后提示,“无法访问.不允许一个用户使用一个 ...
- 用友CDM系统期初导入商品资料经验
1. 倒入商品资料,是导入表spkfk(商品档案表).spkfjc(商品总结存表),主要是将spkfk全部编码导入. 2. 导入客商资料,是导入表mchk(业务单位登记表).m ...
- uvaLive5713 次小生成树
uvaLive5713 修建道路使得n个点任意两点之间都可以连通,每个点有都有一定的人口,现在可以免费修一条道路, A是免费修的道路两端结点的人口之和, B的其它不是免费修道路的长度的总和 要求的是A ...
- 2010多校第一题 hdu3440House Man 差分约束系统
给我们n座房子,房子的高度各不相同, 从最低的房子开始, 每次跳到更高的房子, 跳n-1次最能跳到最高的房子了,但是每次跳跃的距离不能超过d 将这些房子在一维的方向上重新摆放(但是保持输入时的相对位置 ...
- Windows Phone开发(35):使用Express Blend绘图
原文:Windows Phone开发(35):使用Express Blend绘图 上一节中我们简单扯了一下绘图指令,然而那也不是最简单的绘图法,今天,我再向大家推荐一种更好的绘图方案--Express ...
- Android DES加密的CBC模式加密解密和ECB模式加密解密
DES加密共有四种模式:电子密码本模式(ECB).加密分组链接模式(CBC).加密反馈模式(CFB)和输出反馈模式(OFB). CBC模式加密: import java.security.Key; i ...