2013-08-05 25 views
8

私はアプリケーションのUIを作成しています。 EditTextの値を入力しようとすると、キーボードがUIを上に移動します。 キーボードを開いてからUIを上に移動しないようにしてください。キーボードが開いているとUIが上に移動する

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

答えて

12

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

ありがとうございます。私のタブ付きの活動のための

<activity 
    android:name=".AddProductsActivity" 
    android:configChanges="orientation" 
    android:hardwareAccelerated="false" 
    android:windowSoftInputMode="adjustPan" /> 
+0

ニースのソリューション!! –

0

画面全体をカバーして別のRelativeLayout、内部のトップおよびボトムバーを表示するために、次の行にmenifest

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
1
  1. 使用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を追加します。

      トップバーのための

    ndroid:layout_width = "wrap_content" アンドロイド:layout_height = "wrap_content" アンドロイド:layout_below = "@ + ID /トップ" アンドロイド:layout_above = "@ + ID /下"

  2. 今すぐに子ビューを追加このスクロールビューは、RelativeLayoutまたはLineareLayoutから外れることがあります。この子ビューは、画面の中央に追加したい他の子ビューをラップするだけで、現在見たいものがあれば、そのビューをEditTextや好きなものの子として追加するだけです。あなたのUIを歪曲しません

キーボードが現れたときに今、中央のscrollviewが逆さまにスクロールします、..私はそれが、参考にあなたはまだに問題がある場合は私に戻って来る願ってい

これは..

0

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

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が助けにならない人がいると助けてくれることを願っています。

関連する問題