RatingBar的自定义效果

有时候android系统提供给我们的ratingbar效果并不达到我们的要求,这个时候就可以自定义自己喜欢的ratingbar。
从上面的效果可以看出,自定义这样的组件,需要两张图片: 。一张用来未选择的效果,一张用来显示的效果。那还要中间那种一半是未选择一半时选择的呢?其实当你写好这样的组件后,系统就会自动帮你自动解析生成那种效果。
来看一下代码:
  1. <RatingBar
  2. style="@style/foodRatingBar"
  3. Android:stepSize="1.0" 步长
  4. android:layout_height="wrap_content"
  5. android:layout_width="wrap_content"
  6. android:rating="3"  默认选中的星数量
  7. android:id="@+id/ratingbarId">
  8. </RatingBar>

调用样式更换评分图片:

1:在res/drawable-hdpi下建立一个star_rating_bar_full.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  3. <!-- 背景色 -->
  4. <item android:id="@+android:id/background"
  5. android:drawable="@drawable/star_ratingbar_empty"
  6. android:layout_height="wrap_content"  />
  7. <!-- 没选中状态 -->
  8. <item android:id="@+android:id/secondaryProgress"
  9. android:drawable="@drawable/star_ratingbar_empty" android:layout_height="wrap_content"  />
  10. <!-- 选中状态 -->
  11. <item android:id="@+android:id/progress"
  12. android:drawable="@drawable/star_ratingbar_full" android:layout_height="wrap_content"  />
  13. </layer-list>

2:在res/values下建立style.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>    <style name="foodRatingBar" parent="@android:style/Widget.RatingBar">    <!--指向star_rating_bar_full.xml文件 -->  <item name="android:progressDrawable">@drawable/star_rating_bar_full</item>
<item name="android:minHeight">15dip</item><item name="android:maxHeight">15dip</item>
<!-- 是否不支持用户交互,只应作为指标。 -->
<item name="android:isIndicator">true</item>
</style>
</resources>

这里就是定义组件的背景图片、一级进度背景图片和二级进度背景图片(里面这些id都是系统的id,当系统运行到这里时会自动根据这个id去重画组件)讲到这里大概明白怎么用了。其实很多组件都可以通过这样的方法来使用,但如果明白整个过程,那以后做起其他来都至少有一点得心应手的感觉吧。

Android 控件之RatingBar评分条(五星)自定义样式相关推荐

  1. Android 控件之RatingBar评分条

    RatingBar是Adnroid中的评分条.效果挺得的 源码下载 一.概述 RatingBar是SeekBar和ProgressBar的扩展,用星星来评级.使用的默认大小RatingBar时,用户可 ...

  2. android控件向内弧度_安卓自定义 View 基础:坐标系、角度弧度、颜色

    安卓自定义View基础 - 坐标系 一.屏幕坐标系和数学坐标系的区别 由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向, 所以在手机屏幕上的坐标系与数学中常见的坐标系是 ...

  3. android如何创建进度条,Android控件ProgressBar--自定义进度条及源码分析

    这里用SeekBar做演示,SeekBar继承自ProgressBar,拥有其一切特性,并且其支持拖动以及DPAD左右键的进退.一起学习吧! 一.自定义SeekBar进度条样式 原生SeekBar效果 ...

  4. Android控件美化Shape

    Android控件美化Shape你会用吗?   -- 未审核 编辑文档  如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android1 ...

  5. android控件属性

    android控件属性 控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false an ...

  6. 安卓控件之竖向进度条

    Android控件篇 将ProgressBar翻转90度(竖向进度条) 需求 此前跟着老师遇到过一个电量管理软件,ui给出的切图要求主页有一个类似电池的显示电量的控件,如下图: 普通进度条的xml: ...

  7. 自定义android控件:快速检索QuickSearch

    文章目录 上效果图 逻辑骨架 赋予UI UI封装 quick_search_layout.xml item_ordered_list.xml 使用 Android有自带的下拉选择控件Spinner.问 ...

  8. Android美化插件,Android控件美化Shape

    Android控件美化Shape你会用吗?   -- 未审核 编辑文档 如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android12 ...

  9. Android 控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现

    Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现 关注finddreams:http://blog.csdn.net/finddreams/articl ...

最新文章

  1. 基于OHCI的USB主机 —— OHCI(端点)
  2. ubuntu nginx php5fpm,Ubuntu安装nginx + php5-fpm
  3. javascript高级程序设计之函数表达式
  4. DB2日志传送基础知识简介
  5. python中字符移位加密_1.1 移位密码加密解密python实现
  6. phpstorm配置Xdebug
  7. ios14.3开发之使用纯代码创建UITabbarController
  8. junit5和junit4_JUnit 5 –条件
  9. java英文单词单复数转换
  10. MySQL中视图和触发器学习
  11. Python求解啤酒问题(携程2016笔试题)
  12. Win10纯净版系统下载、制作和安装过程-联想客服建议
  13. Scala常用List列表操作方法
  14. python壁纸推荐_python爬虫项目-一见倾心壁纸
  15. 腾讯云云服务器遭DDoS攻击被封堵的解决方法
  16. catia工程图纸中如何画图_catia工程图 方法和步骤
  17. MATLAB中histogram函数的使用
  18. Please make sure the -vm option in eclipse.ini is pointing to a JDK and verify that Installed JRE’s
  19. webpack打包、js处理兼容性、代码压缩问题Uncaught SyntaxError: Cannot use import statement outside a module (at index
  20. 学生用计算机的功能,怎么使用学生专用计算器? 来看看吧

热门文章

  1. rpm升级时spec文件执行的流程
  2. Android(五)——dex文件动态调试
  3. HDU 6249 Alice’s Stamps(dp)
  4. 计算机基础知识:原码、反码、补码
  5. C语言中简单的for循环和浮点型变量
  6. Mac下安装多版本python
  7. Codeigniter 获取当前的控制器名称和方法名称
  8. logstash filter grok 用法
  9. 趣味SQL:用SQL计算瓷砖费用
  10. 提高C#编程水平的50个技巧