在xml文件中设置RatingBar并将android:drawableProgress设置为我创建的自定义drawable(如所描述的here)它在android工作室的预览屏幕中显示5颗星,带有api 22但是当我设置api时目标到api 23它显示1星,但是ratingbar(android:width =“wrap_content”)与5星的宽度相同。这也在具有Lollipop和marshmallow OS的蜂窝电话上进行检查(与所描述的相同)。
PriceListFragment.class
答案 0 :(得分:0)
可能默认的numStars值已更改。
当我在xml文件中设置它时,它工作正常。
<RatingBar
...
numStars="5" />
如果wrap_content没有足够的空间来显示5颗星,那么它也可能是一个布局问题。也许你有Api 23的资格赛?如果没有,并且它在<23时工作正常,请不要介意。
答案 1 :(得分:0)
您可以使用下面的自定义样式,并在布局文件中使用该样式:
<style name="CustomRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/rating_bar_star_style</item>
<item name="android:minHeight">@dimen/button_height</item>
<item name="android:maxHeight">@dimen/button_height</item>
<item name="android:numStars">@integer/rating_bar_number_of_stars</item>
<item name="android:stepSize">@integer/rating_bar_step</item>
</style>
并在你的布局中使用它,如下所示:
<RatingBar
android:id="@+id/rate_app_rating_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/rate_app_spacing_standard"
style="@style/CustomRatingBar"
android:layout_gravity="center"/>
我认为您使用的主题存在一些问题。请尝试AppTheme而不是任何其他代码,上述代码可能适合您。