繁体   English   中英

RatingBar不显示所有星星

[英]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 Studio布局预览的屏幕截图

似乎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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM