Android 自定义图像分级栏-secondaryProgress和Progress Drawable正在叠加,请帮助我!(包括代码和假设)

Android 自定义图像分级栏-secondaryProgress和Progress Drawable正在叠加,请帮助我!(包括代码和假设),android,ratingbar,Android,Ratingbar,编辑:我删除了该行 <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/ratingbar_full_empty_sc"/> 它消除了糟糕的效果。因此,这确实是一个超级问题。现在给一半的评分感觉很笨拙。谁有真正的解决办法?请 原创帖子 我试图实现一个评级条,但我有一些问题,一半填补的。我修改现有代码并遵循以下步骤 这是一个奇怪的结果: 听说过这个问题吗 我把

编辑:我删除了该行

<item
    android:id="@+android:id/secondaryProgress"
    android:drawable="@drawable/ratingbar_full_empty_sc"/>

它消除了糟糕的效果。因此,这确实是一个超级问题。现在给一半的评分感觉很笨拙。谁有真正的解决办法?请

原创帖子

我试图实现一个评级条,但我有一些问题,一半填补的。我修改现有代码并遵循以下步骤

这是一个奇怪的结果:

听说过这个问题吗

我把我的代码贴在下面

 <RatingBar
            android:id="@+id/rating_view"
            style="@style/sc_rating_bar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/padding_medium" />

评级栏的样式:

    <style name="sc_rating_bar" parent="@android:style/Widget.RatingBar">
    <item name="android:progressDrawable">@drawable/ratingbar_full_sc</item>
    </style>

@可拉拔/额定杆\u满\u sc
可进行绘制:

<?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/ratingbar_full_empty_sc"/>
<item
    android:id="@+android:id/secondaryProgress"
    android:drawable="@drawable/ratingbar_full_empty_sc"/>
<item
    android:id="@+android:id/progress"
    android:drawable="@drawable/ratingbar_full_filled_sc"/>

</layer-list>

额定杆(满的)额定杆(空的)额定杆(sc):

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/star_empty2" android:state_pressed="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/star_empty2" android:state_focused="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/star_empty2" android:state_selected="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/star_empty2"/>

</selector>

他的兄弟ratingbar_full_full_sc与
star_full2
image完全相同


我做错了什么?你可以在我的截图上看到这两张照片,满星星和空星星

啊哈!基于我以前的编辑,我找到了一个小解决方案:在
progressDrawable
中,我将
secondaryProgress
修改为

    <item
    android:id="@+android:id/secondaryProgress"
    android:drawable="@drawable/ratingbar_full_null_sc"/>

正如名字所示,我在里面放了一张可画的空图像:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@drawable/star_empty2_null" android:state_pressed="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/star_empty2_null" android:state_focused="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/star_empty2_null" android:state_selected="true" android:state_window_focused="true"/>
<item android:drawable="@drawable/star_empty2_null"/>

</selector>

@drawable/star\u empty2\u null
指的是一个图像,与填充星和空星大小相同,但没有任何内容(我获取了星文件,在Gimp中清除它,并以相同的像素大小导出它)

完美平滑的动画,不再有视觉叠加