Android在方向更改时在屏幕右侧绘制一个灰色视图栏

时间:2017-05-29 12:04:28

标签: android android-layout

在我的Android应用程序中,所有活动在从横向到纵向的方向更改后,在右侧给我一个奇怪的厚灰色条。屏幕底部会出现类似的灰色条,表示横向模式下的所有活动。起初我认为灰色条是由于我的布局视图。 但是在从Android设备监视器中的UI自动机查看视图层次结构后,我发现它是一个无名的View对象。以下是ADM的截图以及我的视图层次结构:

The screenshot of the app which shows the gray strip on right

Here is the view hierarchy of the view.

正如您所看到的,灰色条纹是View的对象,并且似乎没有像其他视图那样resource-id。 我想在源代码中知道这个灰色条视图的来源。任何帮助,将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

在尝试解决问题并尝试跟踪问题后,我终于设法解决了问题。事实证明,由于以下代码setNavigationBarTintEnabled(true),问题是由Android Lollipop及以上版本引起的。评论该线解决了这个问题。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                Window window = ((Activity) context).getWindow();


                SystemBarTintManager tintManager = new SystemBarTintManager(((Activity) context));
                tintManager.setStatusBarTintEnabled(true);
                //tintManager.setNavigationBarTintEnabled(true);
             //tintManager.setNavigationBarTintColor(Color.parseColor("#000000"));
                tintManager.setTintColor(Color.parseColor("#" + appVO.getStatusbarColor()));
                //  tintManager.setTintColor(((Activity) context).getResources().getColor(R.color.white));
                float f = Float.parseFloat(".7");
                tintManager.setTintAlpha(f);
                // tintManager.setTintAlpha(f);