web-dev-qa-db-ja.com

ソフトキーボードが表示されているときにレイアウトを上に移動する方法android

レイアウトに2つのEditTextsとログインボタンのあるログイン画面があります。問題は、入力を開始すると、ソフトキーボードが表示され、ログインボタンが覆われることです。キーボードが表示されたときにレイアウトをキーボードの上または上にプッシュするにはどうすればよいですか?

ScrollViewを使用するのではなく、下にスクロールせずに実装するだけです。いくつかの方法を提案してください。前もって感謝します。

82
cavallo

デバイスのソフトキーボードの状態を知ることで、どういうわけかこれを達成しました。キーボードが表示されている場合はレイアウトをy位置に移動し、表示されていない場合は元の位置に戻します。これは正常に動作し、その後に このガイドライン が続きます

10
cavallo

windowSoftInputModeプロパティをadjustPanおよびadjustResizeに設定します

<activity Android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
61
jeet

アクティビティに対応するAndroidマニフェストファイルでこれを試してください。

<activity Android:windowSoftInputMode="adjustPan"> </activity>
32
jency

onCreate()メソッドで次のコードを使用します。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
24
Bobs

のみ

Android:windowSoftInputMode="adjustResize"

マニフェストファイル内のアクティビティタグでトリックを行います

16
Bhargav Thanki

Manifest.xmlのアクティビティ宣言時間にこの行を入れてください

<Android:windowSoftInputMode="adjustPan">
12
Android:fitsSystemWindows="true"

レイアウトファイルのメインレイアウトにプロパティを追加し、

Android:windowSoftInputMode="adjustResize"

activtyのManifest.xmlファイルに行を追加します

私にとっては完璧な仕事です。

8

これをマニフェストファイル<activity Android:windowSoftInputMode="adjustPan|adjustResize"> </activity>のアクティビティ宣言に入れます

または、必要に応じてアクティビティのonCreate()メソッドを追加できます

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
6
Pradnya Kanase

必要なのはこれだけです。

<activity Android:windowSoftInputMode="adjustResize"> </activity>
3
Bolling

ソフトキーボードが表示されると、メインレイアウトのサイズが変更されます。必要なのは、そのmainlayoutのリスナーを作成し、そのリスナー内でコードscrollT0(x,y)を追加して上にスクロールすることです。

2
Dila Gurung

Xamarinを使用している場合、このコードWindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResizeをMainActivityクラスのアクティビティ属性に配置できます。たとえば、アクティビティ属性は次のようになります

    [Activity(WindowSoftInputMode =Android.Views.SoftInput.AdjustPan | Android.Views.SoftInput.AdjustResize)]
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
    {
        //some code here.
    }
2
Tushar patel

この guide によると、これを実現する正しい方法は、マニフェストで宣言することです。

<activity name="EditContactActivity"
        Android:windowSoftInputMode="stateVisible|adjustResize">

    </activity>
2
David_E

相対レイアウトを使用してビューを調整し、テキストを入力しながらそのビューを表示できるようにします

0
Mahesh

あなたが使用する必要があります

Android:windowSoftInputMode="adjustPan|stateHidden"

アクティビティを宣言するAndroidManifest.xmlファイル内。これにより、レイアウトにキーボードが表示されているときに、レイアウトの内容が調整されます。

0
Farhan Ghaffar

これは私にとって魅力的です

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
0
droidchef