Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 815|回复: 0

自定义ProgressBar的使用详解[天幕杯]-  Android学习

[复制链接]

该用户从未签到

发表于 2011-10-24 14:54:47 | 显示全部楼层 |阅读模式
ProgressBar的使用详解
author:zcl

qq:158067568
本章讲解ProgressBar的使用
1.1
不同的风格
ProgressBar的风格有四种,分别是:
   
Attribute Name
  

Description

   
android:progressBarStyle
  

Default ProgressBar style.

   
android:progressBarStyleHorizontal
  

Horizontal ProgressBar style.

   
android:progressBarStyleLarge
  

Large ProgressBar style.

   
android:progressBarStyleSmall

  

Small ProgressBar style.

1.1.1
progressBarStyleHorizontal
先介绍android:progressBarStyleHorizontal,mian.xml中代码如下:
1
<rogressBar
2
style="?android:attr/progressBarStyleHorizontal"
3
android:id="@+id/ProgressBar01"
4
android:layout_width="fill_parent"
5
android:layout_height="wrap_content"
6
android:visibility="gone"
7
>
8
</ProgressBar>
q
第2行,定义了ProgressBar的风格为progressBarStyleHorizontal。
q
第4~5行,定义了progressBar的高度和宽度。
q
第6行,这是设置progressBar为不可见。
如图1-1,所示,为以上代码布局的效果。


图1-1
progressBarStyleHorizontal默认情况效果
有的时候需要进度条较细,应该对android:layout_height属性进行设置。代码如下:
1
<;ProgressBar
2
style="?android:attr/progressBarStyleHorizontal"
3
android:id="@+id/ProgressBar01"
4
android:layout_width="fill_parent"
5
android:layout_height="9dp"
6
android:visibility="gone"
7
>
8
</ProgressBar>
提示:第5行,将高度改为9dp后,进度条变细,如图1-2所示。



图1-1
progressBarStyleHorizontal下对layout_height调小后效果
1.1.2
progressBarStyle
以上风格是确定进度条,即预先知道总值,并且知道每次的增加量,接下来介绍不确定进度条,首先是默认值的progressBarStyle风格,代码如下:
1
<;ProgressBar
2
style="?android:attr/progressBarStyle"
3
android:id="@+id/ProgressBar01"
4
android:layout_width="wrap_content"
5
android:layout_height="wrap_content"
6
android:visibility="gone"
7
>
8
</ProgressBar>
q
第2行,定义了ProgressBar的风格为progressBarStyle。
q
第4~5行,定义了progressBar的高度和宽度。
q
第6行,这是设置progressBar为不可见。
效果如图1-3所示:



图1-3
ProgressBar风格的进度条


1.1.3
progressBarStyleLarge&progressBarStyleSmall
对于progressBarStyleLarge&progressBarStyleSmall的进度条,笔者就不在演示了。笔者从网上找了一幅图片,很好的说明的显示效果,如图1-4所示。



图1-4
不同进度条风格的比较
一下资料来源互联网:
●进度条分不确定(indeterminate=true)和确定(indeterminate=false)2种。
默认值是不确定(indeterminate=true)进度条。
※在上图里面的第1-3个是不确定进度条,第4个是确定进度条。
●进度条有4种风格可以使用。
默认值是progressBarStyle。 ※上图中的第2个
设置成progressBarStyleSmall后,图标变小。 ※上图中的第1个
设置成progressBarStyleLarge后,图标变大 ※上图中的第3个
设置成progressBarStyleHorizontal后,变成横向长方形。※上图中的第4个
●确定(indeterminate=false)进度条中的最大值的设定,调用setMax()方法。
●当前进度值的设置,调用setProgress()方法。
●第2进度值的设置,调用setSecondaryProgress()方法。
1.2
自定义ProgressBar的风格
如果想改变ProgressBar的风格很简单,只需如下几步。
1.2.1
具体实现
(1)添加ProgressBar要用到的图片到drawable-mdpi文件夹中
(2)在drawable-mdpi文件夹中创建文件my_custom_pb.xml,修改代码如下所示:
1
<?xmlversion="1.0" encoding="UTF-8"?>
2
<layer-listxmlns:android="http://schemas.android.com/apk/res/android">
3



<!--
设置背景色图像资源
-->
4

<itemandroid:id="@android:id/background" android:drawable="@drawable/secondary"/>
5

<!--
设置第二级进度条颜色图像资源
-->
6

<itemandroid:id="@android:id/secondaryProgress" android:drawable="@drawable/secondary"/>
7

<!--
设置第一级进度条颜色图像资源
-->
8

<itemandroid:id="@android:id/progress"android:drawable="@drawable/progress" />
9
</layer-list>

提示:具体就不讲解了,里面代码注释很详细。
(3)在main.xml文件的ProgressBar中设置如下代码:
1
<;ProgressBar
2
style="?android:attr/progressBarStyleHorizontal"
3
android:id="@+id/ProgressBar01"
4
android:layout_width="fill_parent"
5
android:layout_height="wrap_content"
6
android:visibility="gone"
7
android:progressDrawable="@drawable/my_custom_pb"
8
>
9
</ProgressBar>
提示:第7行,将刚刚创建的布局风格添加到这个ProgressBar中。
(4)运行程序,效果如图1-5所示。



图1-5
自定义ProgressBar效果

2011-5-2 22:48:58 上传 2011-5-2 22:50:07 上传 2011-5-2 22:51:05 上传 2011-5-2 22:51:47 上传 HandlerChangleProgressBar.rar 2011-5-2 22:53:47 上传下载积分: 下载豆 -1

42.27 KB, 下载次数: 29, 下载积分: 下载豆 -1
自定义progressbar
回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:54:51 | 显示全部楼层

Re:自定义ProgressBar的使用详解[天幕杯]-

在word里写的,直接复制过来的,格式可能不是很好看,但是绝对是原创的。希望大家多多指点
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:54:55 | 显示全部楼层

Re:自定义ProgressBar的使用详解[天幕杯]-

legend 的帖子

这个文章不能这么发额,需要发的规范哈,图片和附件都要上传,代码需要放到代码框里
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:54:58 | 显示全部楼层

Re:自定义ProgressBar的使用详解[天幕杯]-

学习学习。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:55:02 | 显示全部楼层

Re:自定义ProgressBar的使用详解[天幕杯]-

非常棒!整是我需要滴
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-10-24 14:55:06 | 显示全部楼层

Re:自定义ProgressBar的使用详解[天幕杯]-

好帖,顶~!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 14:06 , Processed in 0.324576 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表