こんにちは(または夕方、または夜)私はアンドロイド用のアプリを開発しています.1つのことに非常に興味があります。「im」チャットのように、ユーザーが別のユーザーとチャットするアクティビティがあります。下部に EditText があり、上部にある種のアクションバーがあります。私が必要とするのは、ユーザーがメッセージを入力し、ソフトウェア キーボードが画面に表示されている場合、私のアクティビティは上に移動する必要がありますが、アクションバーにはいくつかの貴重なコントロールがあるため、画面の上部に「接着」する必要があります。繰り返しますが、これは ActionBar ではなく、親の垂直リニア レイアウトの高さ 48 dp のレイアウトです。そのため、レイアウトが画面の外に出たときに、上部に移動しないようにする簡単な方法があることを知る必要があります。すべてを FrameLayout に配置し、このバーをその上に配置しようとしましたが、キーボードを開くと画面から消えてしまいます...
4 に答える
0
あなたの AndroidManifest でのアクティビティでは、これを配置する必要があります: android:windowSoftInputMode="adjustResize"
于 2013-03-13T20:18:04.450 に答える
0
次のようなものを使用します。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.myapp.MyActionBar
android:layout_width="match_parent"
android:layout_height="48dp"/>
<LinearLayout
android:id="@+id/mylayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1dp"/>
<!-- Add your edittext and button -->
</LinearLayout>
これにより、アクションバーと edittext + ボタンが常に画面に表示mylayout
され、画面の残りの部分を占めるようになります。キーボードが表示されると、mylayout
が縮小します。
于 2013-03-13T20:18:18.673 に答える
0
マニフェストのアクティビティに android:windowSoftInputMode="adjustResize" を追加してみてください。これにより、キーボードが表示されたときにレイアウトをパンするのではなく、完全にサイズ変更するよう Android に指示します。レイアウト全体に十分なスペースがない場合でも、これは機能しないことに注意してください。ただし、トップ レベルのレイアウトが RelativeLayout で、編集テキストが下に配置され、トップ バーが上に配置され、中央セクションが fill_parent に設定され、編集テキストの上とバー。
于 2013-03-13T20:18:20.520 に答える