编辑:我删除了该行
<item
android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/ratingbar_full_empty_sc"/>
它取消了不良效果。所以这确实是一个叠加问题。现在感觉非常笨拙给予半评。有人有真正的解决方案吗?请...
原帖
我尝试实施评级栏,但我对半满的问题有些疑问。我修改现有代码并按照post
进行操作这是一个奇怪的结果:
有没有听说过这个问题?
我在下面发布我的代码
<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>
progressDrawable:
<?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>
ratingbar_full_empty_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_filled_sc与star_full2
图片完全相同。
我做错了什么?您可以在我的屏幕截图,完整填充星和空星图上看到这两张图片。
答案 0 :(得分:0)
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_empty2_null
是指图像,与填充星和空星相同的大小,但没有任何内容(我拿了星号文件,在Gimp中清除它并以相同的像素大小导出它)。
完美流畅的动画,没有更多的视觉叠加!