我正试图设定我的评级栏。我为评级栏创建了样式并将其添加到我的评级栏。但评级栏忽略了它的风格并从AppTheme中挑选出来。 这是两种风格
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorControlNormal">#ffffff</item>
</style>
<style name="MyMaterialTheme" parent="AppTheme"/>
<style name="foodRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/rating_stars</item>
<item name="android:minHeight">48dip</item> <!-- your desired size -->
<item name="android:maxHeight">48dip</item> <!-- your desired size -->
</style>
rating_stars.xml
<?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/star_selected" />
<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/star_selected" />
<item android:id="@android:id/progress"
android:drawable="@drawable/stsr" />
</layer-list>
评级栏xml
<RatingBar
android:theme="@style/foodRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:numStars="5"
android:isIndicator="false" />
在应用这种风格时,它仍然从AppTheme中选择颜色:colorCntrolNormal,colorAccent。 这种方式是错的还是我错过了什么?
答案 0 :(得分:1)
您可以使用colorfilter()更改星色运行时。试试这个
Author :Julius Book:ASDFG
答案 1 :(得分:1)
更改
<RatingBar
android:theme="@style/foodRatingBar"/>
到
<RatingBar
android:theme="@style/MyMaterialTheme"/>
或
<RatingBar
style="@style/foodRatingBar"/>
目前,您正在为不起作用的主题属性指定样式