Android自定义RatingBar图像工件

Sas*_*h0k 19 layout android rating

RatingBar在我的ListView项目的应用程序中实现了自定义.自定义样式ratingbar_red.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_off" />
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/star_on" />
    <item android:id="@android:id/progress" android:drawable="@drawable/star_on" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)

这是ListItem布局的一部分:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingLeft="15dp" >

    <RatingBar
        android:id="@+id/li_company_rating"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="15dp"
        android:layout_marginBottom="1dp"
        android:isIndicator="true"
        android:numStars="5"
        android:progressDrawable="@drawable/ratingbar_red"
        android:stepSize="1" />

    <Button
        android:id="@+id/li_company_callbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="0dp"
        android:layout_marginLeft="40dp"
        android:contentDescription="@string/ContentDescription"
        android:drawableLeft="@drawable/phone_icon"
        android:drawablePadding="5dp"
        android:onClick="callbtn_Click"
        android:text="@string/CallButton"
        android:focusable="false"
        android:focusableInTouchMode="false" >
    </Button>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是当设置评级时,我会得到一些奇怪的图像工件; 粉红色星星下面有2条垂直线出现在我的视图中:

在此输入图像描述

这是star_on.png

链接

star_off.png看起来没问题,如果评级== 0,则不显示这些行.

我是android初学者,无法理解问题所在.

Adi*_*mro 16

尝试RatingBar在xml布局中给出高度,如下所示:

android:layout_height="30dp" 
Run Code Online (Sandbox Code Playgroud)

30dp或任何适合你的..

看看为什么会这样?