UI控件--ProgressBar

SeekBar

  • thumb属性:自定义滑动块的样式
  • progressDrawable属性:自定义整个滑动条的样式,包含已滑过的部分和未滑过部分的区别
  • max,secondaryProgress属性等等
  • 对SeekBar的自定义滑块的代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorAccent"></solid>
    <size android:width="3dp" android:height="20dp"></size>
</shape>
  • 以上代码填充颜色为红色,形状为一个竖条。

  • 对SeekBar的自定义滑动条的代码

  • 一、在drawable中自定义显示
  • layer-list表示覆盖显示
  • clip标签中,表示滑过区域显示的样式
  • 注意是progress还是background
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    //**注意此处是background**
    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="10dp"></corners>
            <gradient android:startColor="@color/colorBlueLight" android:endColor="@color/colorBlue" android:angle="270"></gradient>
        </shape>
    </item>
    //**注意此处是progress**
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="10dp"></corners>
                <gradient android:startColor="@color/colorAccent" android:endColor="@color/colorBlack" android:angle="270"></gradient>
            </shape>
        </clip>
    </item>
</layer-list>
  • 在布局文件中尽心引用自定义的样式
    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:thumb="@drawable/seekbarthumb" //自定义的滑块样式
        android:progressDrawable="@drawable/seekbardrawable"/> //自定义滑条的样式
  • 示意图如下

  • 设置监听事件
    实现SeekBar.OnSeekBarChangeListener接口,在复写其中的三个方法:

  • onProgressChanged
  • onStartTrackingTouch
  • onStopTrackingTouch

RatingBar

  • numStars属性:设置最大的星星个数
  • stepSize属性:设置每次增加的步长
  • rating属性:设置默认的星星个数
  • style属性:自定义的样式的引用

  • 一、在drawable中自定义显示

  • 注意是progress还是background
<?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="@mipmap/item_notcheck"></item>
    <item  android:id="@android:id/progress" android:drawable="@mipmap/item_check"></item>
</layer-list>
  • 二、在values文件夹中的style中进行设置进度条的样式,注意指定父控件
    <style name="MyRatingBar" parent="@android:style/Widget.RatingBar"> <item name="android:progressDrawable">@drawable/ratingbar</item> </style>
  • 三、在布局文件中进行style的设置
     <RatingBar  android:id="@+id/ratingBar" android:numStars="6" android:stepSize="0.5" android:rating="1" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/MyRatingBar" />
  • 效果示意图如下:
    这里写图片描述

  • 设置监听事件
    实现RatingBar.OnRatingBarChangeListener接口,在复写其中的三个方法:

  • onRatingChanged方法

你可能感兴趣的:(进度条,控件)