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 介绍背水一 ...
随机推荐
- CC ANUMLA(STL的运用)
题目连接:http://www.codechef.com/problems/ANUMLA 题意:给一个序列所有子集和(2^n个子集),复原这个序列... 如:0 1 1 2 2 3 3 4 原序列为1 ...
- 使用GraceNote Web API发展Mac发现音乐信息的应用
好久没有写博客,最近各种忙,特别忙里忙,今晚难得清闲.写最近完成下一个博客任务的摘要:使用GraceNote的Web API开发一个查询的音乐信息的应用,事实上,并在这些功能的前GraceNote S ...
- 高晓松脱口秀--晓说(第一季&第二季)mp3下载
晓说 第一季 (1-5) http://pan.baidu.com/share/link?shareid=480859&uk=4043605559 (6-10) http://pan.baid ...
- C++——STL中三种顺序容器的简要差别
C++ STL 提供了3个顺序容器 :vector, deque, list Vector动态数组.支持高速訪问:list双向链表,支持高速插入和删除. vector 中的元素是顺序存放的.所以随机訪 ...
- windows phone 7 客户端和web的交互(WebBrowser的使用)
原文:windows phone 7 客户端和web的交互(WebBrowser的使用) 前几天看到淘宝的Android客户端,有种促销的功能,当点击促销的时候连接的淘宝促销wap页面,然后点击商品后 ...
- OCP读书笔记(17) - 计划任务
轻量级作业: 也称为持久性轻量级作业,如果当我们的数据库每秒钟需要创建.删除或修改数十个或数百个作业时,使用轻量级作业是降低开销的最佳方法 常规作业:是由oracle 11g Scheduler 所支 ...
- 使用CSS3制图
参考资料:http://blog.csdn.net/fense_520/article/details/37892507 本文非转载.为个人原创,转载请先联系博主,谢谢~ 准备: <!DOCTY ...
- 隐马尔科夫模型(HMM)及事实上现
马尔科夫模型 马尔科夫模型是单重随机过程,是一个2元组:(S,A). 当中S是状态集合,A是状态转移矩阵. 仅仅用状态转移来描写叙述随机过程. 马尔科夫模型的2个如果 有限历史性如果:t+l时刻系统状 ...
- Bootstrap网站模板
根据一篇文章,我再想想写下,无意义,他决定收手. 或者直接做一个简单的基本的模板它 主要知识点包含栅格系统.响应式图片.导航条(固定在顶部和底部).搜索框等等 详细每一个知识点不再赘述,參考Boots ...
- PopupMenu消失(Dismiss)抓住
一.在class在implements PopupMenu该监听器类:OnDismissListener, 然后在类需要实现一个方法未实现:onDismiss(PopupMenu menu). 二.参 ...