ソフトキーボードと一緒に押し上げたい「保存」ボタンがあります。したがって、ユーザーが私のレイアウトでEditTextをクリックした場合、ボタンはキーボードの上にとどまる必要があります。これで、ボタンがキーボードの下に隠れるようになります。これはどうやるんですか?
前もって感謝します!
ソフトキーボードと一緒に押し上げたい「保存」ボタンがあります。したがって、ユーザーが私のレイアウトでEditTextをクリックした場合、ボタンはキーボードの上にとどまる必要があります。これで、ボタンがキーボードの下に隠れるようになります。これはどうやるんですか?
前もって感謝します!
キーボードの入力モードを に設定する必要がありますadjustResize
。これを行うには、マニフェストのアクティビティの属性に次の行を追加します。
android:windowSoftInputMode="adjustResize"
アクティビティに追加された属性の例を次に示します。
<activity
android:name=".activity.MyActivity"
android:windowSoftInputMode="adjustResize">
</activity>
Inthathepの回答に加えて、親ビューグループに属性を追加する必要があります
android:fitsSystemWindows="true"
必要に応じて操作します。つまり、マニフェスト ファイルで、アクティビティの追加に
android:windowSoftInputMode="adjustResize"
そして例えば。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:fitsSystemWindows="true" <!-- add this -->
android:orientation="vertical"
>
<EditText
android:id="@+id/et_assetview_comment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="80dp"
android:background="@color/white"
android:hint="Enter comments"
/>
<Button
android:id="@+id/btn_assetview_postcomment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="POST"
/>
</LinearLayout>
AndroidX の場合:
CoordinatorLayout
メインの親レイアウトに使用しNestedScrollView
、コンテンツに を追加し、レイアウトまたはボタンを子に追加して、CoordinatorLayout
ソフト キーボードの上にボタンを押します
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:isScrollContainer="true" >
.......
</androidx.core.widget.NestedScrollView>
<com.google.android.material.button.MaterialButton
android:id="@+id/send_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="@string/login" />
写真: