首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓RatingBar更改星空颜色

安卓RatingBar更改星空颜色
EN

Stack Overflow用户
提问于 2010-03-15 18:06:38
回答 24查看 152.2K关注 0票数 146

如何更改星星的颜色和大小?

EN

回答 24

Stack Overflow用户

回答已采纳

发布于 2010-03-15 20:57:52

步骤1:创建您自己的样式,方法是克隆现有样式之一(来自$ANDROID_HOME/platforms/$SDK/data/res/values/styles.xml),将其放入您自己项目的styles.xml中,并在将小部件添加到布局时引用它。

步骤#2:为RatingBar创建您自己的LayerDrawable XML资源,指向要用于条形图的适当图像。原始样式会将您指向您可以比较的现有资源。然后,调整您的样式以使用您自己的LayerDrawable资源,而不是内置的资源。

票数 27
EN

Stack Overflow用户

发布于 2011-05-15 21:39:47

上面提到的博客有点复杂,我用了一个类似但更简单的方法。您只需要3个星图(red_star_full.png、red_star_half.png和red_star_empty.png)和1个xml,仅此而已。

将这3个图像放在res/drawable上。

在那里放入以下ratingbar_red.xml:

代码语言:javascript
复制
<?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/red_star_empty" />
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/red_star_half" />
    <item android:id="@android:id/progress" android:drawable="@drawable/red_star_full" />
</layer-list>

最后,告诉你的ratingbar定义使用这个,即

代码语言:javascript
复制
<RatingBar android:progressDrawable="@drawable/ratingbar_red"/>

就这样。

票数 122
EN

Stack Overflow用户

发布于 2014-02-19 14:00:50

如果你只想改变颜色,试试这个:

代码语言:javascript
复制
RatingBar ratingBar = (RatingBar) findViewById(R.id.ratingBar);
LayerDrawable stars = (LayerDrawable) ratingBar.getProgressDrawable();
stars.getDrawable(2).setColorFilter(Color.YELLOW, PorterDuff.Mode.SRC_ATOP);
票数 93
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2446270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档