12.7 ProgressBar

参考文献:

http://www.cnblogs.com/plokmju/p/android_ProgressBar.html

 

ProgressBar

  ProgressBar,进度条,是AndroidUI界面中一个非常实用的组件,通常用于向用户显示某个耗时操作完成的百分比。因此它需要动态的显示进度,从而避免长时间的执行某个耗时的操作,而让用户感觉程序失去了相应,从而提高界面的友好性。

 

  从官方文档上看,为了适应不同的应用环境,Android内置了几种风格的进度条,可以通过Style属性设置ProgressBar的风格。支持如下属性,后面在示例中会一一展示:

 

@android:style/Widget.ProgressBar.Horizontal:水平进度条(可以显示刻度,常用)。

@android:style/Widget.ProgressBar.Small:小进度条。

@android:style/Widget.ProgressBar.Large:大进度条。

@android:style/Widget.ProgressBar.Inverse:不断跳跃、旋转画面的进度条。

@android:style/Widget.ProgressBar.Large.Inverse:不断跳跃、旋转动画的大进度条。

@android:style/Widget.ProgressBar.Small.Inverse:不断跳跃、旋转动画的小进度条。

  只有Widget.ProgressBar.Horizontal风格的进度条,才可以设置进度的递增,其他的风格展示为一个循环的动画,而设置Widget.ProgressBar.Horizontal风格的进度条,需要用到一些属性设置递增的进度,这些属性都有对应的setter、getter方法,这些属性如下:

 

android:max:设置进度的最大值。

android:progress:设置当前第一进度值。

android:secondaryProgress:设置当前第二进度值。

android:visibility:设置是否显示,默认显示。

   对于Widget.ProgressBar.Horizontal风格的进度条而言,在代码中动态设置移动量,除了可以使用setProgress(int)方法外,Android还为我们提供了另外一个incrementProgressBy(int)方法,它与setProgress(int)的根本区别在于,setProgress(int)是直接设置当前进度值,而incrementProgressBy(int)是设置当前进度值的增量(正数为增,负数为减)。与setProgress(int)和incrementProgressBy(int)对应的还有setSecondaryProgress(int)和incrementSecondaryProgressBy(int)方法,用于设置第二进度值。

 

o  Android当中的进度条

下面先简单描述一下这三个控件:

ProgressBar是一个进度条控件,一般在需要做某个比较耗时的操作的时候,向用户展示执行进度,以免用户以为已经失去响应。

SeekBar是一个拖动条控件,拖动条通过滑块表示数值,而用户可以在一定范围内拖动这个滑块而改变其数值。

RatingBar是一个星级评分控件,向用户展示一个评分样式的控件,用户可以选择星级来为其评分。

 

o  各种进度条之间的关系

o  ProgressBar进度条的风格

o  ProgressBar的使用方法

ProgressBar提供如下方法来操作进度:

setProgress(int):设置进度完成的百分比;

incrementProgressBy(int):设置进度条的进度的增加或减少,具体取决于参数的正负;

 

fragment_main.xml

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.pmplife.progressbar.MainActivity$PlaceholderFragment" >

 

    <ProgressBar

        android:id="@+id/firstProgressBar"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        style="?android:attr/progressBarStyleHorizontal"

        android:max="200"

        android:progress="100"

        android:secondaryProgress="150"

        />

 

</RelativeLayout>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值