android – ActionBar在通知/标题栏下

我的应用程序中的ActionBar存在问题;在某些情况下,ActionBar似乎位于通知/标题栏的“下方”.它每次都可以重现,我无法弄清楚它为什么会发生.我使用带有Intents的ZXING应用程序扫描条形码并将它们返回到我的应用程序,并且在此过程中的某个时刻出现问题.

我认为最好向你展示图片的问题.

1:应用程序主屏幕,一切正常.

2:使用菜单项扫描条形码.这似乎符合预期.

3:扫描项目的产品页面显示正常.如果我点击“取消”但是…

4:ActionBar现已进入通知/标题栏.

另一个提到这样的错误(我可以找到)是在ActionBarSherlock的GitHub问题中(我正在使用):https://github.com/JakeWharton/ActionBarSherlock/issues/602

我已经检查过,并且我没有像jake提到的那样对configChanges做任何奇怪的事情.

这个问题出现在我的4.2.2设备上,遗憾的是我无法在预ICS设备上进行测试.

欢迎任何想法或建议!

解决方法:

我猜你从zxing屏幕回来时没有重置.在您的“Best Before”活动中,尝试重置全屏的窗口标志,例如:

@Override
protected void onResume() {
    super.onResume();
    //getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setSystemUiVisibility(this, View.SYSTEM_UI_FLAG_VISIBLE /* SYSTEM_UI_FLAG_VISIBLE=0 */);
}



private static void setSystemUiVisibility(final Activity activity, final int newValue){
    if (activity.getWindow() != null){
        View v = activity.getWindow().getDecorView();
        if (v != null) {
            try {
                Method methodSetSystemUIVisibility = v.getClass().getMethod("setSystemUiVisibility", int.class);
                methodSetSystemUIVisibility.invoke(v, newValue);
            } catch (Exception noop) {
            }
        }
    }
}
上一篇:android-在片段中,如何停止ZXing Scanner的摄像头?


下一篇:java实现二维码的生成和解析:QRCode、zxing 两种方式