10

アプリのUIを作っています。キーボードで値を入力しようとするとEditText、UI が上に移動します。キーボードが開いているときに助けてください。UIが上に移動することはありません。

<activity
        android:name=".AddProductsActivity"
        android:configChanges="orientation"
        android:hardwareAccelerated="false"
        android:windowSoftInputMode="adjustResize" />
4

5 に答える 5

12

それは私の問題を解決しました。

ありがとうございます。

<activity
    android:name=".AddProductsActivity"
    android:configChanges="orientation"
    android:hardwareAccelerated="false"
    android:windowSoftInputMode="adjustPan" />
于 2013-08-06T06:57:05.110 に答える
1
  1. 画面全体をカバーする別の RelativeLayout 内にトップ バーとボトム バーを表示するには、RelativeLayout を使用します。

トップバー用:

android:id="@+id/top"
android:layout_alignParentTop = "true"
android:layout_alignParentRight = "true"
android:layout_alignParentLeft = "true"
android:layout_width="wrap_content"
android:layout_height="<fix height like 50dp or as per requirement>"

ボトムバーの場合:

android:id="@+id/bottom"
android:layout_alignParentBottom="true"

  1. 次のように ScrollView を追加します。

    Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:layout_below="@+id/top" Android:layout_above="@+id/bottom"

  2. このスクロール ビューに子ビューを追加します。この子ビューが必要なのは、画面の中央に追加したい他の子ビューをラップするだけで、見たいものは何でも、そのビューをこのレイアウトの子として EditText や好きなものとして追加するだけです。

キーボードが表示されると、中央のスクロールビューが上にスクロールし、UI が歪むことはありません..

これで問題が解決しない場合は、私に戻ってきてください.. :)

于 2013-08-06T05:33:17.120 に答える
0

メイン アクティビティに TabActivity を使用し、タブ付きアクティビティに FragmentActivity を使用しているため、マニフェスト設定が役に立たないようです。だから、私の解決策はこれです:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    setContentView(R.layout.activity_fragment);
    // Setup fragment
    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new Fragment())
                .commit();
    }
}

作成時に setSoftInputMode(SOFT_INPUT_ADJUST_RESIZE) を明示的に呼び出します。manifest.xml が役に立たない場合、一部の人々を助けることができることを願っています。

于 2014-10-20T11:34:43.667 に答える
0

この行 android:windowSoftInputMode="adjustResize" をマニフェスト ファイルのタグからそのアクティビティに削除します。

于 2013-08-06T06:55:17.870 に答える