繁体   English   中英

如何更改RatingBar的星形图像?

[英]How to change the star images of the RatingBar?

使用Android SDK 1.1 r1 ,有没有办法用我自己的方式更改RatingBar小部件类的星形图像? 这有可能吗? 如果是这样,那怎么样?

谢谢。

不确定1.1,但是1.6及更高版本你可以扩展Widget.RatingBar样式并覆盖负责star drawables的属性(在values/styles.xml ):

 <style name="myRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/my_ratingbar_full</item>
        <item name="android:indeterminateDrawable">@drawable/my_ratingbar_full</item>
 </style>

没有必要将RatingBar子类化,只需使用'style'属性将此样式传递给它:

<RatingBar style="@style/myRatingBar" ... /> 

下载android源代码并查看core drawable文件夹中的ratingbar_full.xml以查看要放入my_ratingbar_full

您可以在此处找到更全面的版本: 如何在Android中创建自定义评级栏

简短的回答是它看起来像是技术上可行的。 最简单的方法是根据RatingBar源代码创建自己的RatingBar(更优雅的是extend orignal RatingBar扩展为您自己的)。 从那里你还需要使用原始的RatingBar源xml作为示例创建自己的RatingBar样式(或继承和扩展原始的RatingBar样式)。

源代码可以通过developer.android.com上的git获得。

我怀疑制作自己的评级栏是不受欢迎的,因为它违背了操作系统的一致外观。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM