【问题标题】:Android RatingBar shows extra remainderAndroid RatingBar 显示额外的余数
【发布时间】:2017-03-31 18:12:21
【问题描述】:

我使用的是标准的 Android RatingBar。它的行为似乎很奇怪。出于某种原因,我不能只选择满星。它总是或多或少地显示出一点点。 .setNumStars 属性似乎也不起作用。我正在使用以下代码:

RatingBar ratingbar = new RatingBar(this);
ratingbar.setLayoutParams(lp);
ratingbar.setVisibility(View.VISIBLE);
ratingbar.setNumStars(5);
ratingbar.setStepSize(1);
ratingbar.setRating(1);
linearLayoutReviews.addView(ratingbar);

当我选择 1 颗星时,它会选择一颗星:

当我选择 2 颗星时:

当我选择 3 颗星时:

当我选择 4 星时:

当我选择 5 颗星时:

所以由于某种原因,它显示了超过 5 颗星,并且总会有剩余的下一颗星被选中

编辑

当我将 .setNumStars 设置为 6 时,我可以一一选择它们,但当然,我有六个

编辑

这是LinearLayout的xml

<LinearLayout
                android:id="@+id/linearLayoutReviews"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="10dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginStart="10dp"
                android:orientation="vertical"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/textView5"></LinearLayout>

【问题讨论】:

  • 也发布您的 xml

标签: java android ratingbar


【解决方案1】:

您已多次添加RatingBar LinearLayout 这就是为什么它会在您的LinearLayout 中显示以前的RatingBar

所以首先从LinearLayout 中删除所有当前的RatingBar,然后添加新的RatingBar

我在您的代码中添加了一行,如下所示:它可能会对您有所帮助:

RatingBar ratingbar = new RatingBar(this);
ratingbar.setLayoutParams(lp);
ratingbar.setVisibility(View.VISIBLE);
ratingbar.setNumStars(5);
ratingbar.setStepSize(1);
ratingbar.setRating(1);
//In your code add the lines given below
linearLayoutReviews.removeAllViews();
linearLayoutReviews.addView(ratingbar);

【讨论】:

  • 你说得对,我的 LinearLayout 中有多个评分栏,但我需要它们留下来。有没有其他办法?
  • 因此您应该将LinearLayout 方向水平更改为垂直。所有评分栏都一一显示。
  • 感谢您的回复,但是 LinearLayout 方向已经是垂直的,我已经添加了 xml
【解决方案2】:

我已通过制作新的线性布局并将其放置在旧的线性布局下方来修复它。我将评分栏添加到新的线性布局中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-26
    • 2016-10-08
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多