ソフトキーボードと一緒に押し上げたい「保存」ボタンがあります。そのため、ユーザーがレイアウトの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>
このようにレイアウトを注文すると、キーボードの上にボタンを配置できます
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
<ScrollView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_above="@+id/button_next"
Android:background="#0ff"
>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
>
<EditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="250dp"
Android:hint="Hint"
/>
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="ABC"
Android:textSize="50sp"
/>
</LinearLayout>
</ScrollView>
<Button
Android:id="@+id/button_next"
Android:layout_width="match_parent"
Android:layout_height="60dp"
Android:layout_alignParentBottom="true"
Android:layout_margin="10dp"
Android:text="Button Next"
/>
</RelativeLayout>
In Android manifest
<application
...
>
<activity Android:name=".YourActivity"
Android:windowSoftInputMode="adjustResize"
>
</activity>
</application>
RelativeLayout
の代わりに、別のViewGroup
を使用することもできることに注意してくださいLinearLayout
with weight、CordinatorLayout
、...
だから、これはかなり古い投稿ですが、提供された答えに苦労しました。 oneaviとIntahepはどちらも正しいですが、Android:windowSoftInputMode="adjustResize"
行く。
in Android Manifest
<activity Android:name=".DataScreen" />
<activity Android:name=".PauseScreen" />
<activity Android:name=".RouteInfo"
Android:windowSoftInputMode="adjustResize"> <!--This goes in the specific activity with the button -->
</activity>
最良の方法は、キーストロークを非表示にし、必要に応じてキーボードの上のボタンを押すことです
Android:windowSoftInputMode="adjustResize|stateHidden"