2012-08-30 11 views
9

相対レイアウト内でスクロールビューを使用しています。スクロールレイアウトをキーボードの上に表示するにはどうすればいいですか?

キーボードなしですべての携帯電話でページの末尾までスクロールすることができますが、一部の携帯電話では、キーボードがオンのときにスクロールレイアウトを完全に見ることができます。 ie) - キーボードの上のスクロールビューの終わりです。

私が分析した問題は、さまざまなアンドロイドデバイスによってキーボードの種類が異なることです。

アクティビティマニフェストにwindowSoftInputModeを追加する回答がありました。

も追加:android:windowSoftInputMode="stateHidden|adjustResize"

しかし、まだ同じ問題を取得しています。解決策がある場合や問題に直面した場合は、アイデアを共有してください。御時間ありがとうございます。

+0

あなたの質問に言い換えて、あなたの問題を明確に述べることができれば、本当に役に立ちます。あなたがしたくないことが起こっている正確な行動は何ですか?スクロールビューをキーボードで覆わないようにして、キーボードが上がったときに上に移動しますか? –

+0

レイアウトのXMLコードも投稿する必要があります。 – MKJParekh

+0

@DanielSmith yes。これはあなたの言うことがまさに必要なのです。 – arnp

答えて

3

私は同様の問題を探してこの問題を遭遇しました。 android:windowSoftInputMode="adjustResize"は時々動作し、それ以外の時間は動作しません。何故なの?

この回答はAndroidのフルスクリーンテーマについて語っています。 Honeycomb (3.1) adjustResize no longer working?

は、私にとっての問題は、ここでは、この呼び出した:キーボードが登場したときにフルスクリーンにフラグを設定するgetWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

は、適切なスクロールを防止するであろう。

+0

はい、あまりにも早く解決しました。問題はフルスクリーンでした。 – arnp

1

はのonCreateでこのコードを試してみてください。

getWindow().setSoftInputMode(
      WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
+0

この – arnp

+0

削除してください「のandroid:windowSoftInputMode =」追加することにより、変化無し。stateHidden | adjustResize」をして、男を働いていないのOnCreate –

+0

に上記のコードを追加し – arnp

0

あなたはそう...

<activity android:name=".views.ViewportActivity" 
        **android:windowSoftInputMode="adjustPan|adjustResize"** 
        android:label="@string/app_name" 
        android:configChanges="locale" 
        android:screenOrientation="portrait" 
        android:theme="@android:style/Theme.NoTitleBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
      </intent-filter> 
     </activity> 
+0

午前の作業は、私が使用して、それが何であります – arnp

+0

これを使用してクールな:) – IamStalker

1

これらの他の回答はあなたの問題を解決しなければならないように、AdroidManifest.xmlのあらゆる活動上の設定を置くことができ、私は次の解決策を提案することを躊躇していますが、あなたが時間を要している場合や、これが非常に重要なプロジェクトをやっていない場合に備えて、私はそれをそこに投げ捨てます:OnGlobalLayoutListenerを使用してください。

softKeyboardが(悲しいことに)上がっているかどうかを実際に知る方法はありませんが、キーボードルームをスクロールビューの下に置くようにレイアウトを調整する(つまり、キーボードの高さ)。

an answer hereがあります。これは、これを非常にうまく行う方法を説明します。もう一度、私はあなたの問題が何であるかについて完全にはっきりしていません、なぜなら私たちはコードなどを見ていないので、これは他の答えが問題を解決していない理由を診断するのが難しいです...しかし、試してみてください:)

関連する問題