gpt4 book ai didi

android - RatingBar 变得半透明

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:32 25 4
gpt4 key购买 nike

我在每行中使用 RecyclerViewRatingBar。现在,有时部分 RatingBar 绘制不正确。离开屏幕并返回后,一切恢复正常。我不知道为什么会这样,我什至从 RatingBar 中删除了所有样式,因此它应该具有默认外观。

它是这样的:

enter image description here

在 Nexus 6P (Android 7.1.1) 上测试。还在 Samsung Galaxy J3 (2016) (Android 5.1.1) 上进行了测试,这里没有问题。

我也添加了

holder.rbRating.requestLayout();

onBindViewHolder() 中。它减少了一点问题,但它仍然存在。当我重新使用“坏”行时,它看起来很好。

这是行布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="@dimen/main_margin_top"
android:paddingBottom="@dimen/main_margin_top"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
android:id="@+id/tvRatingTitle"
android:text="Czystość wody"
android:textSize="16sp"
android:textStyle="bold"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<RatingBar
android:id="@+id/rbRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:isIndicator="true"
android:layout_centerHorizontal="true"
android:layout_below="@+id/tvRatingTitle"
android:numStars="5"
android:rating="2.5"
android:stepSize="0.1" />

<CheckBox
android:id="@+id/chkMissing"
android:text="Zaznacz jeśli nie ma"
android:layout_centerHorizontal="true"
android:layout_below="@+id/rbRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</RelativeLayout>

我也试过切换到 android.support.v7.widget.AppCompatRatingBar,但没有任何区别。

编辑:

@Muhib Pirani 解决方案似乎有效,但我有 2 个小问题:

1)在 Nexus 6P 上,第一层星星偏移了几个像素(放大看):

enter image description here

2) 在 Samsung Galaxy J3 (2016) 上它看起来像这样:

enter image description here

我对边框没意见,但我希望它们在空心星星中也是绿色的(不是灰色,背景应该是灰色的)。

最佳答案

我也遇到了同样的问题。我必须像这样以编程方式将颜色设置为 RatingBar 并且它有效:

LayerDrawable layerDrawable = (LayerDrawable) ratingBar.getProgressDrawable();
layerDrawable.getDrawable(2).setColorFilter(ContextCompat.getColor(context, R.color.colorPrimaryDark), PorterDuff.Mode.SRC_ATOP);
layerDrawable.getDrawable(1).setColorFilter(ContextCompat.getColor(context, R.color.colorPrimaryDark), PorterDuff.Mode.SRC_ATOP);
layerDrawable.getDrawable(0).setColorFilter(ContextCompat.getColor(context, R.color.editTextBor), PorterDuff.Mode.SRC_ATOP);//when not selected color.

保持 layerDrawable.getDrawable(2)layerDrawable.getDrawable(1) 相同的颜色。

关于android - RatingBar 变得半透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44327647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com