凤小鹿 2019-04-16 10:26 采纳率: 0%
浏览 819

华为手机在设置了顶部状态栏透明后,底部输入框与软键盘冲突了,怎么解决?

华为手机在设置了顶部状态栏透明后,底部是一个EditBox,当我点击这个输入框弹出软键盘的时候键盘的顶部出现了一条黑框,收回键盘的时候那个黑框没有消失,而整个游戏页面就往上顶了,这种情况你们有遇到过吗,怎么解决?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-08 23:03
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于Android Studio中设置的状态栏透明度导致的。当状态栏被设置为透明时,它将覆盖所有的UI元素,包括底部的EditText和软键盘。

    要解决这个问题,您可以尝试以下方法:

    1. 将EditText的高度调整到比状态栏高一些:

      <EditText
          android:id="@+id/editText"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" />
      
    2. 在布局文件中添加一个FrameLayout来容纳EditText,并在其上方设置一个ViewGroup作为背景:

      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
      
          <EditText
              android:id="@+id/editText"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"/>
      
          <!-- 添加一个 FrameLayout 用于容纳 EditText -->
          <FrameLayout
              android:id="@+id/frameLayout"
              android:layout_width="match_parent"
              android:layout_height="match_parent"/>
      </LinearLayout>
      
    3. 在Activity或Fragment中使用上述布局:

      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
      
          // 设置 EditText 的高度
          findViewById(R.id.editText).setHeight("match_parent");
      
          // 创建 FrameLayout 并将其添加到 LinearLayout 中
          View frameLayout = new View(this);
          frameLayout.setLayoutParams(new FrameLayout.LayoutParams(
                  ViewGroup.LayoutParams.MATCH_PARENT,
                  ViewGroup.LayoutParams.WRAP_CONTENT));
          this.findViewById(R.id.frameLayout).addView(frameLayout);
      }
      

    通过以上步骤,您的应用程序应该能够避免底部的EditText和软键盘冲突的问题。

    评论

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境