[英]RatingBar not showing all stars
我有这个布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RatingBar
android:id="@+id/bar_detail_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:isIndicator="true"
android:max="10"
android:numStars="10"
android:padding="0dp"
android:rating="7"
android:scaleX="0.7"
android:scaleY="0.7"
android:stepSize="1" />
</LinearLayout>
在android:max = 10,android:numStars = 10,android:stepSize = 1的情况下,我希望它显示10个星星,并且通常会通过setRating()将值显示为每单位大小1个星星。 但是,这没有发生。 我要附加Android Studio布局预览中的屏幕截图; 这几乎与Nexus 5上的显示方式完全相同。
看来计算正确。 对于7级,则阴影为7/10星(即8 x 7/10 = 5.6星)。
我根本无法弄清楚问题出在哪里。
似乎Android并未调整RatingBar中的星星; 因此在我的情况下,其中只有7个空间。 在“景观”布局中,我可以看到10个星星。
调整星星的大小需要一些阅读; 但最终遇到了这个问题:
http://web.archive.org/web/20160323223259/http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/
就我而言,诀窍是定义样式:
<style name="MyRatingBar" parent="@android:style/Widget.DeviceDefault.RatingBar.Indicator">
<item name="android:minHeight">48dp</item>
<item name="android:maxHeight">48dp</item>
</style>
应用此样式可减小星形大小并将其适合屏幕。
唯一的评级是0-5 / 5,只有7/10
<RatingBar
android:id="@+id/bar_detail_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:rating="3.5"
/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.