设置ActionBar颜色时的Android UI故障

设置ActionBar颜色时的Android UI故障,第1张

概述我和朋友一起创建了一个Android应用程序,我有一个与UI相关的奇怪问题.当在片段之间切换时,有时UI倾向于加扰,从而产生下面显示的故障.它发生在我的带有Dalvik运行时的Nexus 5和Android的股票以及我的朋友的带有ART运行时和SlimKat rom的Nexus 4上.但是在具有Dalvik运行时和4.4.2(AOSB rom)的另一个Nex

我和朋友一起创建了一个Android应用程序,我有一个与UI相关的奇怪问题.

当在片段之间切换时,有时UI倾向于加扰,从而产生下面显示的故障.

它发生在我的带有Dalvik运行时的Nexus 5和AndroID的股票以及我的朋友的带有ART运行时和SlimKat rom的Nexus 4上.但是在具有Dalvik运行时和4.4.2(AOSB rom)的另一个Nexus 5上无法观察到.奇怪的是,在我更新到应用程序的最新版本之前,它没有发生.

下面是使用的布局,其中main_fragment是我使用事务处理Fragment的地方.

我发现执行此行时会出现故障,并且我在setBackgroundDrawable方法中放置的内容无关紧要:

activity.getActionbar().setBackgroundDrawable(new colorDrawable(color.parsecolor(getCurrenttheme(activity))));

还有人有这个问题吗?或者也许有人知道解决方法或如何使其工作?

编辑:我需要在运行时更改Actionbar颜色(在应用程序设置中更改主题).

最佳答案几天前我在运行时将一个背景颜色应用到Actionbar时遇到了这个问题.这是在Nexus 5运行的AndroID 5.0版本上,我在本期回复中建议的解决方法取得了成功:Issue 1760

解决方法是在全局或发生此情况的特定活动中禁用Hardware Acceleration.还有一种可能性,即在运行时禁用VIEw的硬件加速,但我不知道如何将其应用于Actionbar.

全局禁用硬件加速

AndroIDManifest.xml中:

lication androID:harDWareAccelerated="false" ...>

禁用活动的硬件加速

AndroIDManifest.xml中:

lication androID:harDWareAccelerated="true">    ID:harDWareAccelerated="false" />

禁用VIEw的硬件加速

在运行时

myVIEw.setLayerType(VIEw.LAYER_TYPE_SOFTWARE,null);
总结

以上是内存溢出为你收集整理的设置ActionBar颜色时的Android UI故障全部内容,希望文章能够帮你解决设置ActionBar颜色时的Android UI故障所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)