首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RatingBar未显示全明星

RatingBar未显示全明星
EN

Stack Overflow用户
提问于 2017-02-25 18:16:58
回答 2查看 1.4K关注 0票数 0

我有这样的布局:

代码语言:javascript
复制
<?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布局预览的屏幕截图;这几乎就是它在我的Nexus5上的显示方式。

它的计算似乎是正确的;对于评级为7的情况,它对7/10星进行了阴影处理(即8 x 7/10 = 5.6星)。

我只是想不出问题是什么,这里。

EN

回答 2

Stack Overflow用户

发布于 2017-02-25 19:50:21

似乎RatingBar中的星星不会被安卓调整大小;所以在我的例子中,只有7颗星星的空间。在景观布局中,我可以看到10颗星。

调整星星的大小需要一些阅读;但最终遇到了这样的情况:

http://web.archive.org/web/20160323223259/http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/

在我的例子中,关键是定义了一个样式:

代码语言:javascript
复制
<style name="MyRatingBar" parent="@android:style/Widget.DeviceDefault.RatingBar.Indicator">
    <item name="android:minHeight">48dp</item>
    <item name="android:maxHeight">48dp</item>
</style>

应用此样式可减小星形大小并使其适合屏幕。

票数 1
EN

Stack Overflow用户

发布于 2017-02-25 18:42:42

这是7/10,仅限为0-5/5

代码语言:javascript
复制
<RatingBar
    android:id="@+id/bar_detail_rating"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:rating="3.5"
    />
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42454706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档