我在android中使用默认rating bar
并且显示了一个奇怪的灰色边框,我想删除它们。
请注意:: stackoverflow上的许多答案建议使用自己的图像,但我不想,是否有任何方法可以删除边框?
我的代码::
<RatingBar
android:id="@+id/layout_fragment_home_recycler_view_rating_bar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="1.0"
android:rating="4.0"
style="?android:attr/ratingBarStyleSmall"
android:layout_marginTop="10dp"
android:layout_marginBottom="7dp"
android:layout_marginLeft="7dp" />
我得到的是什么
答案 0 :(得分:1)
只需删除
style="?android:attr/ratingBarStyleSmall"
从你的布局
答案 1 :(得分:0)
为评级栏创建自定义样式
<style name="RatingBarStyle" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/ratingbar_selector</item>
<item name="android:minHeight">34dp</item>
<item name="android:maxHeight">34dp</item>
</style>
你的评级栏选择器
抽拉/ ratingbar_selector.xml
<item android:id="@+android:id/background"
android:drawable="@drawable/..." />
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/..." />
<item android:id="@+android:id/progress"
android:drawable="@drawable/..." />
答案 2 :(得分:0)
答案 3 :(得分:-1)
试试这个,它不需要图像。
public static void setRatingStyle(RatingBar ratingbar, int ratingNormalColor, int ratingProgressColor) {
LayerDrawable stars = (LayerDrawable) ratingbar.getProgressDrawable();
stars.getDrawable(0).setColorFilter(ratingNormalColor, PorterDuff.Mode.SRC_ATOP);
stars.getDrawable(2).setColorFilter(ratingProgressColor, PorterDuff.Mode.SRC_ATOP);
}