先看下效果图:

安卓系统提供了一个评分的控件Ratingbar,但是这个控件默认的样式是不是很难看,并且这个控件所占的空间很大,下面一步一步来解决这个问题:

首先,我们先看这个控件有一个默认的风格   我们打开SDKD:\elipse\sdk\platforms\android-11\data\res\values下的values文件,在里边搜索Ratingbar,会找一个默认的风格:

    <style name="Widget.RatingBar"><item name="android:indeterminateOnly">false</item><item name="android:progressDrawable">@android:drawable/ratingbar_full</item><item name="android:indeterminateDrawable">@android:drawable/ratingbar_full</item><item name="android:minHeight">57dip</item><item name="android:maxHeight">57dip</item><item name="android:thumb">@null</item></style>

看一下   跟Drawable有关的一般是设置它的图片,那么我们就在drawable目录(D:\elipse\sdk\platforms\android-11\data\res\drawable)下找到这个ratingbar_full文件,打开之后是:

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

是不是跟selector很像,这里边有三张图片

ratingbar_full_empty   中间全为灰色的五角星图片

ratingbar_full_empty   一半灰色一半有颜色的五角星图片

ratingbar_full_filled    全部有颜色的五角星图片

看到这里是不是有思路了 ,我们只需要创建一个以layer-list根元素的文件,并且把里边的三个图片改成我们UI给的三张图片,我找了三张图片,是黄色的:

<?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/rating_small_empty" /><item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/rating_small_half" /><item android:id="@+android:id/progress" android:drawable="@drawable/rating_small_full" />
</layer-list>

使用:

   <RatingBarandroid:id="@+id/ratingBar2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/ratingBar1"android:layout_centerHorizontal="true"android:layout_marginTop="30dp"<span style="color:#FF6666;">android:minHeight="15dp"</span>android:progress="30"android:progressDrawable="@drawable/ratingbar_back" />

加了这句话后会把默认progressDrawable属性给覆盖掉,运行一下,现在已经能显示我们需要的黄色了,但是还有个问题:在布局文件中选中这个控件你会发现,这个控件占了很大的位置

这是怎么回事呢,看看刚才的那个默认风格  里边有这么一句话

<item name="android:minHeight">57dip</item>

什么意思呢?字面意思是最小的高度57dp,我们也把风格中的这个属性给覆盖掉

   android:minHeight="15dp"

这样再看这个控件

另外,我们需要在代码中动态的控制进度,只用掉一个方法

<span style="white-space:pre">  </span>private RatingBar ratingBar1;private RatingBar ratingBar2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ratingBar1=(RatingBar) findViewById(R.id.ratingBar1);ratingBar2=(RatingBar) findViewById(R.id.ratingBar2);findViewById(R.id.button1).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {<span style="color:#FF6666;">ratingBar1.setRating(89);ratingBar2.setRating(89);</span>}});}

最后,附上源码

安卓RatingBar的使用(评分控件)相关推荐

  1. android ratingbar不可点击,Android评分控件RatingBar使用实例解析

    无论游戏,应用,网站,都少不了评分控件.在Android SDK 中提供了 RatingBar控件来实现相应的工作. 标签有几个常用评分相关属性 android:numStars,指定评分五角星数. ...

  2. android星星评分,Android星星评分控件RatingBar的使用

    在Android的开发中,有一个叫做评分控件RatingBar,我们可以使用该控件做等级划分.评分等作用,星星形状显示,也可以半星级别,我们来看一下评分控件如何使用. 布局文件中定义控件以及属性,这里 ...

  3. 源码推荐:仿写映客直播 ,快速切换主题 ,星星评分控件,表格样式,可以横向移动的表格, 仿微信键盘-

    仿写映客直播(上传者:五仁月饼) 工作之余写的,基于IJKPlayer播放,对内存做了处理.目前已完成直播列表和直播间的搭建,后续还会慢慢完善. 项目地址 publishImageAndVideoAn ...

  4. JQuery版评分控件

    Hi All, 分享一个学习JQuery做的一个评分控件. 需求:当鼠标移动到 '☆' 上时,该字符左边的 '☆' 变成 '★',该字符右边仍然是 '☆', 并显示相应星星数的评价结果:当鼠标推出 ' ...

  5. iOS- 非整星的评分控件(支持小数)

    概述 订单评论里实现星级评分控件: 简单整星评价与非整星的精评价. 详细 代码下载:http://www.demodashi.com/demo/10711.html 现在很多应用都有评分功能. 有了订 ...

  6. 【Android View】写一个蛛网评分控件

    上周项目中要用到一个蛛网评分控件,于是就先上Github搜,搜了半天没搜着(也可能是我搜的关键词不对),那只好自己写一个了,就叫SpiderWebScoreView 先放一张最终效果图: 先整理一下需 ...

  7. 关于安卓接入B站弹幕控件

    关于安卓接入B站弹幕控件 环境: as 4.4.2 jdk 1.8 注意!!源码在文末!! 弹幕github官方地址地址 实现场景 通过弹幕与时间关联,实现视频弹幕的播放,滚动进度的时候,弹幕不进行清 ...

  8. 玩转自定义View之大学问特色蛛网评分控件

    在github上搜了一堆堆评分控件都没有理想中的样子所以在自己的开源项目上造了了轮子出来效果图如下: 先说明下理想中需求 支持任意大于等于3的评分 支持具有变色效果 支持分数以及图形分平均值描边 支持 ...

  9. PercentRatingBar-百分比评分控件

    PercentRatingBar 百分比评分控件 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-floBwSpe-1662473142682)(https://p3-j ...

最新文章

  1. vue响应式给数组中的对象添加新属性
  2. 正则表达式测试工具 Regex Tester 的使用方法
  3. Windows 10 周年更新后的 Edge 14 的 HierarchyRequestError 报错
  4. protobuf和thrift对比
  5. 手把手教你搭建用户画像,数据分析效率提升百倍
  6. boost::geometry::num_geometries用法的测试程序
  7. [置顶] Java面试题全集(中)
  8. 控制反转 java_控制反转( Ioc)快速入门
  9. 阿里达摩院发布2019十大科技趋势!AI专用芯片将挑战GPU的绝对统治地位
  10. 数据库及中间件术语解释
  11. BurpSuite下载CA证书
  12. zabbix的源码安装
  13. python怎么复数乘方开方_孩子数学不好怎么办?怎样让孩子学好数学的方法
  14. linux系统pdf目录编辑器,Linux操作系统(三)编辑器与实用程序.pdf
  15. UGUI ScrollRect 滑动
  16. python pyqt5浏览器_全网最简明的PyQt 5 教程,神级Python现场开发一个专属浏览器!...
  17. 《模拟电子技术基础》-(童诗白)笔记
  18. LCD1602的学习与理解
  19. python做app接口测试_一种APP接口自动化测试方法与流程
  20. 【侯捷 C++ 面向对象高级开发】课程笔记以及个人注释(附带课程资源)

热门文章

  1. .html扩展名的文件类型,JS 获取文件后缀,判断文件类型(比如是否为图片格式)...
  2. 虚拟机Ubuntu没有IP地址上不了网
  3. 图像处理-007形态变换(二)
  4. cuda编程思想和opencv_gpu图像处理
  5. 计算机认知训练效果,维持认知健康人群晚年认知功能的计算机认知训练
  6. 招聘面试的STAR原则
  7. SQL SERVER 软件和安装步骤
  8. Vue:把组件作为自定义元素来使用以及Identifier ' simple_couter' is not in camel case问题解决
  9. 常见字读音(粤语)---(2)
  10. 文字转语音 两种方法:TextToSpeech、科大讯飞