ProgressBar、SeekBar、RatingBar 自定义样式
2014-03-19 22:31
302 查看
RatingBar:小星星风格
style="?android:attr/ratingBarStyleSmall"
将星星替换成别的图标:
1)共四张图片:填满的“星星”和未填满的“星星”的选中和未选中状态
2)新建xml文件:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item // 未填满的星星selector
android:id="@+android:id/background"
android:drawable="@drawable/ratingbar_full_empty_holo_light"/>
<item // 未填满的星星selector 第二进度
android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/ratingbar_full_empty_holo_light"/>
<item // 填满的星星 selector 第一进度
android:id="@+android:id/progress"
android:drawable="@drawable/ratingbar_full_filled_holo_light"/>
</layer-list>
3)未填满星星的两种状态的selector:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_rating_star_off_pressed_holo_light"
android:state_pressed="true"
android:state_window_focused="true"/>
<item android:drawable="@drawable/btn_rating_star_off_normal_holo_light"/>
</selector>
4)填满星星的两种状态的selector:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_rating_star_off_pressed_holo_light"
android:state_pressed="true"
android:state_window_focused="true"/>
<item android:drawable="@drawable/btn_rating_star_off_normal_holo_light"/>
</selector>
5)设置ProgressDrawable属性。
ProgressBar:
共有三个颜色:底色、第二进度颜色、主要进度颜色
1)新建xml文件 custompb.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@android:drawable/progress_bg_holo_dark" /> // 底色图片
<item android:id="@android:id/secondaryProgress">
<scale android:scaleWidth="100%"
android:drawable="@android:drawable/progress_secondary_holo_dark" /> // 第二进度图片
</item>
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%"
android:drawable="@android:drawable/progress_primary_holo_dark" /> // 主要进度图片
</item>
</layer-list>
2)准备三个经过处理的 .9 图片。
3)在布局文件的ProgressBar节点中添加属性:
progressDrawable = "@drawable/custompb"
SeekBar:
进度条属性,与 ProgressBar 的xml文件一样
android:progressDrawable="@drawable/scrubber_progress_horizontal_holo_light"
拖动按钮图片属性:
android:thumb="@drawable/scrubber_control_selector_holo"
<selector xmlns:android="http://schemas.android.com/apk/res/android">
// 不可用状态下显示的图标
<item android:state_enabled="false"
android:drawable="@android:drawable/scrubber_control_disabled_holo" />
// 按下状态下显示的图标
<item android:state_pressed="true"
android:drawable="@android:drawable/scrubber_control_pressed_holo" />
// 选中状态下的图标
<item android:state_selected="true"
android:drawable="@android:drawable/scrubber_control_focused_holo" />
// 普通无动作状态下的图标
<item android:drawable="@android:drawable/scrubber_control_normal_holo" />
</selector>
可以只选择 state_pressed 状态和 无动作状态。
style="?android:attr/ratingBarStyleSmall"
将星星替换成别的图标:
1)共四张图片:填满的“星星”和未填满的“星星”的选中和未选中状态
2)新建xml文件:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item // 未填满的星星selector
android:id="@+android:id/background"
android:drawable="@drawable/ratingbar_full_empty_holo_light"/>
<item // 未填满的星星selector 第二进度
android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/ratingbar_full_empty_holo_light"/>
<item // 填满的星星 selector 第一进度
android:id="@+android:id/progress"
android:drawable="@drawable/ratingbar_full_filled_holo_light"/>
</layer-list>
3)未填满星星的两种状态的selector:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_rating_star_off_pressed_holo_light"
android:state_pressed="true"
android:state_window_focused="true"/>
<item android:drawable="@drawable/btn_rating_star_off_normal_holo_light"/>
</selector>
4)填满星星的两种状态的selector:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_rating_star_off_pressed_holo_light"
android:state_pressed="true"
android:state_window_focused="true"/>
<item android:drawable="@drawable/btn_rating_star_off_normal_holo_light"/>
</selector>
5)设置ProgressDrawable属性。
ProgressBar:
共有三个颜色:底色、第二进度颜色、主要进度颜色
1)新建xml文件 custompb.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@android:drawable/progress_bg_holo_dark" /> // 底色图片
<item android:id="@android:id/secondaryProgress">
<scale android:scaleWidth="100%"
android:drawable="@android:drawable/progress_secondary_holo_dark" /> // 第二进度图片
</item>
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%"
android:drawable="@android:drawable/progress_primary_holo_dark" /> // 主要进度图片
</item>
</layer-list>
2)准备三个经过处理的 .9 图片。
3)在布局文件的ProgressBar节点中添加属性:
progressDrawable = "@drawable/custompb"
SeekBar:
进度条属性,与 ProgressBar 的xml文件一样
android:progressDrawable="@drawable/scrubber_progress_horizontal_holo_light"
拖动按钮图片属性:
android:thumb="@drawable/scrubber_control_selector_holo"
<selector xmlns:android="http://schemas.android.com/apk/res/android">
// 不可用状态下显示的图标
<item android:state_enabled="false"
android:drawable="@android:drawable/scrubber_control_disabled_holo" />
// 按下状态下显示的图标
<item android:state_pressed="true"
android:drawable="@android:drawable/scrubber_control_pressed_holo" />
// 选中状态下的图标
<item android:state_selected="true"
android:drawable="@android:drawable/scrubber_control_focused_holo" />
// 普通无动作状态下的图标
<item android:drawable="@android:drawable/scrubber_control_normal_holo" />
</selector>
可以只选择 state_pressed 状态和 无动作状态。
相关文章推荐
- 用CSS hack技术解决浏览器兼容性问题
- CSS文字大小单位px、em、pt详解
- CSS用text-overflow实现文本标题超出显示省略号“...”
- css 控制浮动层 不随滚动条的滚动而滚动
- css 使用技巧
- css布局
- highcharts 提示框样式
- easyui加载菜单样式不生效
- 前端开发进阶:推荐的 CSS 书写规范
- normalize.css v3.0.0 源码
- 表头固定Demo(Div+Css)
- CSS学习笔记
- css ime-mode控制输入全角和半角
- css弹出框 提示信息
- 通过css属性margin:auto让Div中的Table居中
- css reset
- CSS背景属性
- 强制CSS !important使用介绍
- overflow:auto在ie6/7上的诡异??
- -_-#【CSS3】CSS3 gradient transition with background-position