自定义SeekBar的外观

来源:互联网 发布:java网上订餐系统 编辑:程序博客网 时间:2024/05/20 02:26

1.在res\drawable文件夹,新建XML文件以配置SeekBar的外观,该文件的根节点需要选择为layer-list

2.在XML文件中,添加2个<item>子节点,且分别配置android:id属性值为@android:id/background和@android:id/progress,例如:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">      <item android:id="@android:id/background" ></item>      <item android:id="@android:id/progress" ></item> </layer-list>

3.在res\values文件夹下,新建XML文件以配置SeekBar的背景和进度的颜色,例如:

    <resources>      <color name="seek_bar_background">#C9D5DE</color>      <color name="seek_bar_progress">#186BA3</color>       </resources>

4.在SeekBar的外观的配置文件中,background的<item>节点添加<color>子节点,并应用背景颜色,例如:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">      <item android:id="@android:id/background">        <color android:color="@color/seek_bar_background"/>      </item>      <item android:id="@android:id/progress"></item> </layer-list>

5.在SeekBar的外观的配置文件中,progress的<item>节点添加<clip>子节点,并在该节点下再添加<color>子节点以应用进度的颜色,例如:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">      <item android:id="@android:id/background">        <color android:color="@color/seek_bar_background"/>      </item>      <item android:id="@android:id/progress">        <clip>          <color android:color="@color/seek_bar_progress"/>        </clip>      </item> </layer-list>

6.在使用SeekBar的布局文件中,为<SeekBar>节点配置android:progressDrawable属性,取值为@drawable/配置文件,例如:

    <SeekBar      android:progressDrawable="@drawable/shape_seek_bar"    />

7.为<SeekBar>节点配置android:minHeightandroid:maxHeight属性,以决定进度条的高度,例如:

    <SeekBar      android:minHeight="2dp"      android:maxHeight="2dp"    />

8.为<SeekBar>节点配置android:thumb属性,以配置SeekBar上可拖拽的圆点的图形,例如:

    <SeekBar      android:thumb="@drawable/ic_seek_bar_thumb"    />

9.为<SeekBar>节点配置android:thumbOffset属性,以配置SeekBar上可拖拽的圆点的偏移量,例如:

    <SeekBar      android:thumbOffset="10dp"    />

以上为SeekBar配置背景和进度的颜色的作法,是从ProgressBar控件上继承得到的,所以,也适用于配置ProgreeBar!

1 0
原创粉丝点击