Android – 在键盘上方显示BottomSheetDialogFragment

前端之家收集整理的这篇文章主要介绍了Android – 在键盘上方显示BottomSheetDialogFragment前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试显示带有一些EditText字段的BottomSheetDialogFragment,供用户输入信息.我想直接在键盘上方显示它,但它会不断覆盖内容.

当我调出BottomSheetDialogFragment时会发生这种情况,您可以看到它正在选择卡号EditText,但覆盖其他内容.

理想情况下,这就是我正在寻找的,你可以看到EditTexts和View的填充.

我尝试了很多围绕windowSoftInputMode的解决方案,但似乎没有任何效果.我已将它设置为父Activity的adjustResize和实际的BottomSheetDialogFragment via

dialog.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)

而且我也尝试修改我的布局,将它从FrameLayout更改为ScrollView到CoordinatorLayout,看看它是否对布局的位置有任何影响,但似乎没有任何效果.

如果有人知道如何做到这一点,那将非常感谢,谢谢.

解决方法

以下步骤可能有助于解决您的问题.

首先在xml文件中的EditText上添加以下行

  1. android:imeOptions="actionSend|flagNoEnterAction"

例如:

  1. <EditText
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content"
  4. android:inputType="number"
  5. android:hint="Card number"
  6. android:imeOptions="actionSend|flagNoEnterAction"/>

然后在AndroidManifest.xml文件中的activity标记添加以下行

  1. android:windowSoftInputMode="stateVisible|adjustResize"

例如:

  1. </activity>
  2. <activity android:name=".stack.MainActivity"
  3. android:windowSoftInputMode="stateVisible|adjustResize">
  4. <intent-filter>
  5. <action android:name="android.intent.action.MAIN" />
  6.  
  7. <category android:name="android.intent.category.LAUNCHER" />
  8. </intent-filter>
  9. </activity>

您可以从HERE找到有关屏幕输入法的更多详细信息.

猜你在找的Android相关文章