【发布时间】:2016-06-17 10:32:31
【问题描述】:
我遇到了非常烦人的问题,我想在我的 RatingBar 小部件中添加自定义可绘制对象,我按照 some examples 怎么做:
1) 我创建了自己的风格,设置minHeight=16dip 和maxHeight=16dip
2) 添加了 16px*16px 星形可绘制对象。
它改变了图标,但问题是我的星星看起来很模糊,即分辨率低。而且我知道为什么,bcs drawables 是 16*16px,但我不能让它们的质量更好(例如 76px*76px),bcs Android 不会缩放评级栏图标。当您减小 minHeight 和 maxHeight 时,android 将始终裁剪图标。即使我不使用 min 和 max heght 结果是相同的 - 我的大可绘制对象(我试图在 hdpi、xhdpi 文件夹中添加可绘制对象)只是裁剪。
有没有办法在自定义 RatingBar 中提高可绘制对象的分辨率?谢谢。
附:这是我的代码以防万一:
风格:
<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/rating_bar_drawable</item>
<item name="android:minHeight">16dip</item>
<item name="android:maxHeight">16dip</item>
</style>
rating_bar_drawable.xml:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background" android:drawable="@drawable/car_washes_star_empty" />
<item android:id="@android:id/secondaryProgress" android:drawable="@drawable/car_washes_star_fill" />
<item android:id="@android:id/progress" android:drawable="@drawable/car_washes_star_fill" />
main.xml:
<RatingBar
android:id="@+id/car_washes_list_item_rating_bar"
style="@style/CustomRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/car_washes_item_rating_bar_margin_right"
android:layout_marginRight="@dimen/car_washes_item_rating_bar_margin_right"
android:numStars="5"/>
【问题讨论】:
-
不,不是,我更改了可绘制对象,但它们的质量很差