我的应用程序中的ActionBar存在问题;在某些情况下,ActionBar似乎位于通知/标题栏的“下方”。它每次都可以重现,我无法弄清楚它为什么会发生。我使用带有Intents的ZXING应用程序扫描条形码并将它们返回到我的应用程序,并且在此过程中的某个时刻出现问题。
我认为最好向你展示照片的问题。
1:应用程序主屏幕,一切正常。
2:使用菜单项扫描条形码。这看起来像预期的那样。
3:扫描项目的产品页面显示正常。如果我点击“取消”但是......
4:ActionBar现已进入通知/标题栏。
对于ActionBarSherlock(我正在使用)的GitHub问题,唯一提到这样的错误(我能找到)就是这个问题:https://github.com/JakeWharton/ActionBarSherlock/issues/602
我已经检查过,并且我没有像杰克提到的那样对configChanges做任何奇怪的事情。
这个问题出现在我的4.2.2设备上,遗憾的是我无法在ICS前设备上进行测试。
欢迎任何想法或建议!
答案 0 :(得分:2)
我猜你从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) {
}
}
}
}