我们如何在Android中使用其他图标更改评分栏星标图标?

时间:2017-02-16 05:01:24

标签: java android

我想将默认评级栏星形(*)图标更改为其他图标。 任何人都可以帮助我..

我的代码:XML

<RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    style="@style/foodRatingBar"
    android:isIndicator="false"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="86dp"
    android:numStars="4" />

Styles.xml:

 <style name="foodRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/selector</item>
    <item name="android:minHeight">23dip</item>
    <item name="android:maxHeight">25dip</item>
</style>

Selector.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/ic_fuel_gray"/>
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/ic_fuel_gray"/>
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/ic_fuel_color"/>

</layer-list>

但是outPut是:

enter image description here

2 个答案:

答案 0 :(得分:0)

只需在下面添加两个代码段即可完成:

<style name="customRatingBar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/custom_image1</item>
    <item name="android:indeterminateDrawable">@drawable/custom_image2</item>
</style>

并在使用评级栏的xml中使用以上样式:

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

添加替换您的评级条形码并检查它是否在预览中显示?

<RatingBar
    android:id="@+id/ratingBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    style="@style/customRatingBar"
/>

答案 1 :(得分:0)

<RatingBar
    android:id="@+id/ratingBar"
    style="@style/foodRatingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    android:numStars="5"
    android:rating="5"
    android:transformPivotX="0dp"
    android:transformPivotY="0dp"
    android:isIndicator="false"/>

试试这个