Android星级评分条RatingBar样式的改变及出现问题的解决方法

举报
计蒙不吃鱼 发表于 2025/05/30 00:05:02 2025/05/30
【摘要】 本文介绍了自定义 RatingBar 的实现方法,通过布局文件、layer-list 样式文件和 style 文件的配置完成个性化星星评分效果。

实现的成果如下:

在制作的过程中大概会出现直接报错或者星星流眼泪的现象,在文章 最后会有解决的方法。
步骤:
1.布局文件

2.自定义的layer-list样式文件starsstyle 要求:两张图

3.在style文件中创建一个样式,并在第一步中使用

出现的问题:

直接报错:可能是图片素材过大,改一下就好了。
流眼泪:我画了一张图,如下,将图片放在一个透明的圆形或正方形中,组合成一张图片素材。至于美观大小啥的就靠自己调了。

具体现成代码如下:

布局文件

<RatingBar
    android:id="@+id/ratingBar"
    style="@style/RatingBarstyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

layer-list样式文件

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

    <item android:id="@android:id/progress"
        android:drawable="@drawable/ic_action_name"/>

</layer-list>

style文件中创建的部分

 <style name="RatingBarstyle" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/starsstyle</item>
        <item name="android:numColumns">5</item>

    </style>
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。