我有一个正常的活动(A),带有可见的动作栏,可以启动另一个全屏活动(B)来显示照片。当(B)完成并且活动(A)显示回有时时,我可以看到以下图片:
请注意操作栏和导航区域的视觉扭曲。 只有当我开始与活动交互,滚动它等时,上述工件才会消失。
全屏活动代码:
protected void onCreate(Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
ActionBar supportActionBar = getSupportActionBar();
supportActionBar.hide();
}
我唯一的样式定制:
<style name="Theme.MyApp" parent="@style/Theme.AppCompat" tools:ignore="NewApi">
<!-- Text appearance -->
<item name="android:textColorLink">@color/linkColor</item>
</style>
有人知道任何线索,为什么会这样?
答案 0 :(得分:2)
这是Lollipop Nexus设备的一个错误。作为解决方法,可以在清单活动的声明上禁用硬件加速:
android:hardwareAccelerated="false"
(这会减慢图形表现)。
答案 1 :(得分:0)
我的申请也是一样的。然而,下面的事情似乎解决了这个问题(在我的列表中):
@Override
protected void onResume() {
super.onResume();
findViewById(R.id.root).setLayerType(View.LAYER_TYPE_SOFTWARE, null);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
findViewById(R.id.root).setLayerType(View.LAYER_TYPE_HARDWARE, null);
}
}, 500);
}
正如您所看到的 - 我正在尝试关闭硬件加速,而不是再次打开布局中的主根视图。我并不知道为什么更改视图类型有效,因为这是您在HA Thread上可以找到的内容:
注意:您目前无法在视图级别启用硬件加速。除禁用硬件加速外,视图层还具有其他功能。有关其用途的详细信息,请参阅查看图层。