题
使用 Android SDK 1.1 r1
,有没有办法用我自己的方式更改 RatingBar
小部件类的星形图像?这有可能吗?如果是这样,那怎么样?
感谢。
解决方案
简短的回答是它看起来像是技术上可行的。最简单的方法是根据RatingBar源代码创建自己的RatingBar(更优雅的是扩展
orignal RatingBar到你自己的)。从那里你还需要使用原始的RatingBar源xml作为示例创建自己的RatingBar样式(或继承和扩展原始的RatingBar样式)。
源代码可以在developer.android.com上找到。
我怀疑不鼓励制作自己的评级栏,因为它违背了操作系统的一致外观。
其他提示
不确定1.1,但是1.6及更高版本你可以扩展 Widget.RatingBar
样式并覆盖负责星形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中创建自定义评级栏
不隶属于 StackOverflow