造型评级栏不起作用

时间:2016-02-20 06:51:39

标签: android ratingbar

我正试图设定我的评级栏。我为评级栏创建了样式并将其添加到我的评级栏。但评级栏忽略了它的风格并从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。 这种方式是错的还是我错过了什么?

2 个答案:

答案 0 :(得分:1)

您可以使用colorfilter()更改星色运行时。试试这个

Author :Julius  Book:ASDFG

答案 1 :(得分:1)

更改

<RatingBar
android:theme="@style/foodRatingBar"/>

<RatingBar
android:theme="@style/MyMaterialTheme"/>

<RatingBar
style="@style/foodRatingBar"/>

目前,您正在为不起作用的主题属性指定样式