键盘关闭后Android操作栏消失

时间:2015-05-04 07:50:55

标签: android android-actionbar

以下是这种情况的样子。 enter image description here

我的布局文件就像:

<RelativeLayout>  # Parent
  <RelativeLayout> # Camera preview
  </RelativeLayout>
  <LinearLayout>   # Bottom bar
  </LinearLayout>
</RealtiveLayout>

我理解Android通过评估它们是否在视图区域内来添加/删除视图,但到目前为止我无法通过任何方式解决这个问题。

使用android:windowSoftInputMode="adjustResize"确保操作栏始终可见是不可行的,因为这会破坏上面相机预览的宽高比。

1 个答案:

答案 0 :(得分:0)

请参阅ActionBarSherlock actionbar disappears when focus changes from EditText to Button

对于那些无法切换到adjustResize的人。 我注意到屏幕关闭再打开后动作条重新出现,所以我用这个黑客解决了它:

dialog.setOnDismissListener(dialog1 -> {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
        handler.postDelayed(() -> {
            activity.findViewById(android.R.id.content).requestLayout();
        }, 600);
    }
})

此代码大约在键盘结算后请求重绘整个层次结构。检查的SDK版本和延迟值可能会更低,但我决定安全地玩。