我有一个RatingBar,它在应用程序内始终正确地显示。但最近我发现它在某些设备上(包括Lollipop版本的Nexus 5)无法正常工作。如下图所示,评分栏被黑色覆盖(仅在某些设备上)。当ListView(带有评分星级)滚动时,打分栏将被显示出来(然后黑色覆盖再次出现)。这只影响黄色的星星而不是白色的星星。
我不确定是否有人曾经遇到过这个问题?我在想是否是Nexus 5上的最近Android更新导致了这个问题,因为在其他设备上评分栏运行良好。
我有一个RatingBar,它在应用程序内始终正确地显示。但最近我发现它在某些设备上(包括Lollipop版本的Nexus 5)无法正常工作。如下图所示,评分栏被黑色覆盖(仅在某些设备上)。当ListView(带有评分星级)滚动时,打分栏将被显示出来(然后黑色覆盖再次出现)。这只影响黄色的星星而不是白色的星星。
我不确定是否有人曾经遇到过这个问题?我在想是否是Nexus 5上的最近Android更新导致了这个问题,因为在其他设备上评分栏运行良好。
根据我的经验,这可能是使用了支持库的v21版本或者不稳定的操作系统更新导致的,因为.xml文件和代码都不可用。
以下是谷歌上报告的关于评级栏(RatingBar)的问题,请查看下面的链接:
开发团队已经解决了您报告的问题,并将在未来的构建版本中提供。
在Lollipop之前的手机上带有自定义星形Drawable的评级栏被渲染为1个拉伸的星星
使用支持库的v21版本时,带有自定义星形的评级栏可以正常渲染。但是使用v22时,你只会得到一个拉伸后宽度等同于5个星星的一个星星。
首先,不要使用RatingBar#setProgressDrawable,因为无论在哪个平台上,它都会像#setBackground()一样工作(整个背景单一拉伸图像)。其次,在主题级别上设置android:ratingBarStyle不起作用。我最终创建了一个自定义样式,带有"android:progressDrawable"并将其应用于我需要的每个视图。
将样式设置为android:attr/ratingBarStyle不起作用,而ratingBarStyleSmall起作用。
addview
,所以我不得不转换为listview
)? 但是对于我的情况,在我删除数据并重新下载后,该错误会自动解决。(我只是列出了可能性) - Lee Yi Hong