设置ActionBar颜色时的Android UI故障

前端之家收集整理的这篇文章主要介绍了设置ActionBar颜色时的Android UI故障前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我和朋友一起创建了一个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中:

禁用活动的硬件加速

AndroidManifest.xml中:

禁用View的硬件加速

在运行时

myView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);

猜你在找的Android相关文章