- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在每行中使用 RecyclerView
和 RatingBar
。现在,有时部分 RatingBar
绘制不正确。离开屏幕并返回后,一切恢复正常。我不知道为什么会这样,我什至从 RatingBar
中删除了所有样式,因此它应该具有默认外观。
它是这样的:
在 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 上,第一层星星偏移了几个像素(放大看):
2) 在 Samsung Galaxy J3 (2016) 上它看起来像这样:
我对边框没意见,但我希望它们在空心星星中也是绿色的(不是灰色,背景应该是灰色的)。
最佳答案
我也遇到了同样的问题。我必须像这样以编程方式将颜色设置为 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/
每当我在布局中使用 RatingBar View 时,我都会突然遇到各种编译错误。我使用的是 Android 2.0,但我也尝试过 2.0.1 和 2.1,但并不愉快。我还收到一条消息:Shader
我在应用程序中有一个 RatingBar 组件,我对其进行了以下配置: android:numStars="5" android:stepSize="1.0" 问题是一旦触摸从下一个星星的部分穿过一个
我有一个 layout我想在哪里显示RatingBar为用户。我正在使用我自己的自定义图标而不是默认星星。我的问题是图标是矢量格式,当我使用它们时,我会得到奇怪的效果(见下图)。它应该显示 5 个图标
我已将 RatingBar 添加到我的 ListView 的每个项目中。它运行良好,但不显示准确评级。例如,如果评级是 4.3,它必须显示第 5 颗星的一部分,但它没有。 截图: 第一项评分 = 4.
我在 ListView 中有一个 TextView 和 RatingBar,我想在每个上保存 RatingBar 的值在 ListView 中列出,可以使用自定义适配器吗?? 我用来做的代码喜欢: P
我有一个 RatingBar,用户可以在其中提交星级。我没有按钮,我想让它对用户更友好,让它动态提交。 在 setOnRatingBarChangeListener 方法中,我提交了星星。 这里是问题
我真的是 android 编程的新手。我的问题是 RatingBar 实际上是如何工作的?我想制作一个包含 RatingBars 的应用程序,每当用户将它评为 4 星时,我希望我的应用程序的其他用户也
我正在开发一个使用 RatingBar 的 Android 应用程序,并获得 5 颗星。我有一台 HTC Wildfire,RatingBar 工作得很好。我有这个屏幕的布局。但是,我在 HTC de
我的应用程序中有一个 android 评级栏,它只显示 int 评级。 例如: float ratingValue = 1.5f; myRatingBar.setRating(ratingValue)
RatingBar 中的步长是多少?这是我在文档中找到的内容:此评级栏的步长。例如,如果需要半星粒度,则为 0.5。我试图在这里找到它:https://developer.android.com/re
我知道我可以应用我自己的风格,将评分栏的明星图片换成其他东西。我需要一些更复杂的东西:每个 ratingbar 元素都应该比以前的大。 看图: 这可能吗? 最佳答案 我们可以扩展评分栏,保持栏的高度与
背景:我们使用标准的 Android RatingBar 5 星。我们允许用户使用此 RatingBar 从 1 到 5 进行评分。我们显示的默认值为零,即未评分。 问题:用户目前即使在点击评级栏一次
我知道这听起来很烦人,但有时感觉 Android 的 UI 组件和行为有些离谱。 考虑以下 XML: 在不同尺寸的设备上显示效果的屏幕截图: Nexus S 评分栏 平板电脑评分栏 小型
我需要强制 重绘 RatingBar 控件。 在评级栏和样式出现许多问题后,我设法使几乎所有功能都正常工作。 我在 ListView 项目中使用它。由于它的工作原理,人们不得不对其外观和行为进行一些“
我有以下 RatingBar: 当我按下星星的左边部分时 - 它被选中,但当我按下右边部分时 - 下一颗星星被选中。我需要我点击的星星被选中,无论我点击它的哪个部分。请帮助我了解问题所在。 最佳答案
我在应用程序中有这个评分栏,它始终正确显示。但最近我意识到它在某些设备上无法正常工作(包括带有 Lollipop 版本的 Nexus 5)。 评级栏被黑色覆盖层覆盖,如下图所示(仅在某些设备上)。当
如何做到以下几点? 如果 RatingBar 有 1-3 颗星 - 红星。如果 RatingBar 有 4 颗星 - 黄色星星。如果 RatingBar 有 5 颗星 - 绿星。 ((RatingBa
我有一个表单,它是根据从 Web 服务接收到的数据动态生成的。此 Web 服务提供创建输入元素时需要使用的图像。我很难设置 RatingBar 的 progressDrawable。虽然 XML 我能
我在每行中使用 RecyclerView 和 RatingBar。现在,有时部分 RatingBar 绘制不正确。离开屏幕并返回后,一切恢复正常。我不知道为什么会这样,我什至从 RatingBar 中
我正在尝试在 ListView 中显示评级栏。 无论我尝试了什么: viewHolder.viewOnlyQuickRatingBar.setNumStars(5); 或: android:n
我是一名优秀的程序员,十分优秀!