android - Kitkat 上的 Actionbar 被替换为白色框并带有 AdjustPan

标签 android android-actionbar android-softkeyboard android-4.4-kitkat adjustpan

我使用 adjustmentPan 自动平移我的应用程序,以便在软键盘出现时使 EditText 字段可见。到目前为止,这种方法运行良好,但在最新的 Android 4.4 Kitkat 版本中,操作栏会像往常一样平移,但会留下一个白色框。我尝试使用 Eclipse View Hierarchy 工具对此进行调试,但它忽略了该框。我也尝试过 v19 样式,但没有成功。这种情况发生在各种 Kitkat Nexus 设备和模拟器上。

我很乐意将操作栏保留在屏幕上或在窗口平移时将其完全删除。任何帮助移除盒子的帮助将不胜感激。

enter image description here

最佳答案

我发现这只发生在应用程序硬件加速在 list 文件中设置为 true 的情况下。

我想保持硬件加速打开,因此我在 onCreate 方法中编写了此代码 fragment ,以仅将其关闭操作栏容器。

    if(Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
        Resources res = Resources.getSystem();
        int id = res.getIdentifier("action_bar_overlay_layout", "id", "android");
        ViewGroup overlayLayout = (ViewGroup) this.findViewById(id);
        overlayLayout.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }

更新

此问题已在 Android L 预览版 API 20 中修复。请注意,上述代码将在 Android L 中导致异常,因此需要向 Kitkat 明确版本条件。

    if(Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {

关于android - Kitkat 上的 Actionbar 被替换为白色框并带有 AdjustPan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21420556/

相关文章:

java - 在 Firestore 中合并查询

android - 预编译静态库

Android - 在键盘上方显示 BottomSheetDialogFragment

机器人 : open keyboard in dialogfragment

android - 如何更改 ActionBar 颜色?

android - 如何为 Android 自定义键盘中的每个键设置不同的按键背景

java - 当用户从图库上传图像时获取图像的 Uri,而不保存重复项

android - src/main/webapp/WEB-INF 文件夹没有出现在 Android Studio 中

android - 我的应用程序在尝试禁用主页按钮时崩溃

android - 损坏的 ActionBar 外观