您的位置:首页 > 其它

自定义进度条和RatingBar评分控件

2015-10-13 20:39 246 查看
1、自定义进度条需要用到的主要方法

android:progressDrawable="" ,后面所接内容需要自定义一个drawable的<layer-list >项目

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@android:id/background">

<shape>

<solid android:color="#ff51495e" />

</shape>

</item>

<item android:id="@android:id/progress"> <!-- 此处设置的为一级进度,若要设置二级进度只需仿照再加一项即可 -->

<clip>

<shape>

<solid android:color="#ff996dfe" /> <!-- 此处也可用图片来代替 -->

</shape>

</clip>

</item>

</layer-list>

xml 文件

<SeekBar

android:id="@+id/seek_own_bar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:maxHeight="4dp" <!-- 设置进度条的高度 -->

android:progressDrawable="@drawable/seekbar_progess"

android:thumb="@drawable/seekbar_button_selector" /> <!-- thumb seekbar 进度图形设置 progressbar 不用 -->

注意:当使用监听使进度条运行时,应使用线程来执行,在主线程中运行则会报错

监听方法:setooOnSeekChangListener();

2、RatingBar

我所知道的有两种定义方法

(1)用style = “” 格式 分别定义drawable和style,最后在xml中调用自己所定义的style即可

此种方法我在网上看到的比较多,可以很容易搜出来,当然步骤也更麻烦一点

(2)用progressdrawable = “” 格式,此法直接定义一个drawable即可

<?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/a1i"/> <!-- 此处定义基本同上 -->

<item

android:id="@android:id/progress"

android:drawable="@drawable/a1h"/>

</layer-list>

xml文件

<RatingBar

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:progressDrawable="@drawable/ratingbar_layerlist" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: