Android中的透明度问题

时间:2013-04-19 15:20:38

标签: android performance drawing transparency

我偶然发现了一些Android平板电脑上的问题,特别是三星Galaxy Note,Galaxy Tab 10和Nexus 10.问题是我让应用程序运行一段时间并从最近或通过通知恢复它应用程序UI会破坏图标和控件小部件的透明度。

例如,有一个线性布局,它具有灰色渐变背景,并在其上方绘制了两个图像按钮。这些imageButtons具有透明背景和图标设置为源。当问题出现时,可以看到UI被绘制成如下: enter image description here

灰色背景渐变也会失去其alpha值,并在发生这种情况时被拉平。

之前是否有人观察过类似行为?

1 个答案:

答案 0 :(得分:1)

您可能希望在包含这些视图的活动上禁用硬件加速,或者在LinearLayout容器上禁用它。

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
private void disableHardwareAcceleration(View v) {
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            v.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
      }
}

如果您有一个引用LinearLayout的私有变量,请将其传递给此方法以禁用硬件加速。