Android基本组件(五)

439 查看

第五组UI组件:Progress及其子类

1.进度条(ProgressBar)的功能与用法:
进度条在UI组件中是一种非常有用的组件,它可以向用户反馈一些信息,进度或是等待的时间,使用户的体验更加人性化。
下面是XML代码:

<!-- 定义一个大环形进度条 -->
<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"
    /><!-- 定义一个水平进度条 -->
<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"/>

补充:请注意上面关键的 style 属性,可以为ProgressBar指定不同的风格。
最后一个自定义的ProgressBar的XML代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 定义轨道的背景 -->
    <item android:id="@android:id/background"
        android:drawable="@drawable/no" />
    <!-- 定义轨道上已完成部分的样式 -->
    <item android:id="@android:id/progress"
        android:drawable="@drawable/ok" />
</layer-list>

2.显示在标题的进度条:

3.拖动条(SeekBar)的功能和用法:
拖动条和进度条很相似,只不过拖动条应许用户拖动滑块来改变值,通常用于语音调节,数值调节等。
代码如下:

<!-- 定义一个拖动条,并改变它的滑块外观 -->
<!-- android:thumb : 指定一个Drawable对象,作为自定义的滑块 -->
<SeekBar
    android:id="@+id/seekbar"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:max="255"
    android:progress="255"
    android:progressDrawable="@drawable/progressbar"
    android:thumb="@drawable/ic_launcher" />

4.RatingBar的功能和用法:
RatingBar和SeekBAr基本相似,最大的区别在于RatingBar通过星星来表示进度。
代码如下:

<!-- android:numStars设置星星的个数 -->
<!-- android:stepSize 设置每次至少要改变多少颗星星 -->
<RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:numStars="5"
    android:max="255"
    android:progress="255"
    android:stepSize="0.5" />

![图片描述][2]