【问题标题】:Android RatingBar show black overlay on some devicesAndroid RatingBar 在某些设备上显示黑色覆盖
【发布时间】:2014-12-15 03:53:42
【问题描述】:

我有这个评分栏,它位于应用程序内,它始终正确显示。 但最近我意识到它在某些设备上无法正常工作(包括带有 Lollipop 版本的 Nexus 5)。 评级栏被黑色覆盖层覆盖,如下图所示(仅在某些设备上)。 当列表视图(带有评级星)滚动时,评级栏将显示(然后是黑色覆盖层再次显示)。它只影响黄色星星,而不影响白色星星。

我不确定以前是否有人遇到过这个问题?我在想是否是最近 Nexus 5 上的 android 更新导致了这种情况,因为评级栏在其他设备上运行良好。

【问题讨论】:

  • 提供你的xml代码
  • 你可能会以某种方式给评级明星着色吗?你在使用支持库吗?哪个版本?
  • 当我从服务器下载信息时,我意识到它可能是损坏的文件...删除数据并重新下载后似乎可以正常工作...也可能是因为我们更改了导致缓存数据和图像的下载链接。但我不太确定这是否是主要原因,因为目前似乎没有人有这个问题。
  • 我确定问题与渲染有关。也许它与滚动缓存有关,因为当滚动列表时,就我而言,星星会恢复正常。
  • @KeyhanAsghari 我上次遇到同样的问题,当它向后滚动时,它恢复正常。而且它只在某些手机上(当我测试它时,我的案例是 Nexus 5,其他手机,如索尼 z1 和 samsung note 3 没有这个问题)。也许您可以检查一下您的列表视图适配器(因为当我第一次接手项目时,以前的开发人员使用的是addview,所以我不得不切换到listview)?但就我而言,在我删除数据并重新下载后,该错误会自行解决。 (我只是列出了可能性)

标签: android xml android-layout android-studio ratingbar


【解决方案1】:

在我看来,

这可能正在使用 v21 的支持库或可能不稳定的操作系统更新作为 .xml 文件并且代码不可用。

这些是谷歌上报告的评级栏问题,请查看下面的链接,

RatingBar rendering broken on devices

开发团队已修复您报告的问题,并且 将在未来的版本中提供。

RatingBar w/ Custom Stars Drawable is rendered as 1 stretched star on pre-Lollipop phones

使用 v21 的支持库时,带有自定义星号的 RatingBar 按预期呈现。使用 v22,您只需获得 5 颗星,而不是 5 颗星, 但拉伸以匹配 5 星应采用的宽度

首先,不要使用 RatingBar#setProgressDrawable 因为没有 无论是什么平台,它都会像 #setBackground() 一样工作 (整个背景的单个拉伸图像)。其次,设置 主题级别的 android:ratingBarStyle 不起作用。我结束了 创建自定义样式,使用“android:progressDrawable”并应用它 对于我需要的每个视图。

RatingBar does not render in InfoWindow

将样式设置为 android:attr/ratingBarStyle 不起作用,并且 ratingBarStyleSmall 确实有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 2019-10-29
    • 1970-01-01
    • 2018-03-23
    相关资源
    最近更新 更多