9

相対レイアウト内でスクロールビューを使用しています。

キーボードがない場合、すべてのモバイルでページの最後までスクロールできます。一部のモバイルでは、キーボードがオンのときにスクロール レイアウトを完全に表示できます。ie)- キーボードの上のスクロールビューの端。

私が分析した問題は、Android デバイスによってキーボードの種類が異なるためです。

アクティビティ マニフェストに windowSoftInputMode を追加するためのいくつかの回答を得ました。

また追加:android:windowSoftInputMode="stateHidden|adjustResize"

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

4

4 に答える 4

1

これらの他の答えはあなたの問題を解決するはずなので、私は次の解決策を提案することを躊躇しますが、あなたが時間に追われている/これが非常に重要なプロジェクトを行っていない場合に備えてそれを捨てます:OnGlobalLayoutListenerを使用してください。

softKeyboardが(悲しいことに)上げられたかどうかを完全に知る方法は実際にはありませんが、レイアウトを調整して、キーボードのスペースをスクロールビューの下に配置します(つまり、高さを現在の高さにリセットします-キーボードの高さ) 。

これを非常にうまく行う方法を説明する答えがここにあります。繰り返しになりますが、コードなどを確認していないため、問題が何であるかは完全にはわかりません。これは、他の回答が問題を解決していない理由を診断するのが難しいです...しかし、本当に行き詰まっている場合は、それを与えてください試してみてください:)

于 2012-08-30T19:33:21.583 に答える
1

onCreate でこのコードを試してください:

getWindow().setSoftInputMode(
            WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
于 2012-08-30T08:22:27.610 に答える
0

次のように、AdroidManifest.xml の任意のアクティビティに構成を配置できます...

 <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>
于 2012-08-30T08:25:40.933 に答える