4

こんにちは、複数の textView を含む垂直スクロールビューがあります。

下部には、メッセージ アプリケーションのような EditText があります。マニフェスト android:windowSoftInputMode="adjustPan" に設定しました。

問題は、editText をタップするとレイアウトが上がることですが、キーボードが editText を写真のように半分にカットします。

 <ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="8"
    android:background="#CCCCCC" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:orientation="vertical" >
           //many textView
          <TextView
            android:id="@+id/text_area"
            android:layout_width="fill_parent"
            android:layout_height="50dp"
            android:background="#FF0000"
            android:layout_marginBottom="15dp"
            android:paddingLeft="10dp"
            android:textColor="#168191" />

          </LinearLayout>
</ScrollView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:orientation="horizontal"
    android:weightSum="10" >

    <EditText
        android:id="@+id/send_msg"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="8"
        android:background="#CCDEDC"
        android:paddingLeft="20dp"
        android:text="Large Text"
        android:textColor="#168191"
        android:textSize="15dp" />
        <Button
        android:id="@+id/send_msg_btn"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        android:background="#CCCCCC"
        android:text="Send"
        android:textColor="#FFFFFF" />
</LinearLayout>

プリントスクリーン

4

2 に答える 2

3

AndroidManifest.xml に以下のオプションをアクティビティに追加し、「カットされていない」テキストをキーボードで表示させます。android:windowSoftInputMode="adjustPan|stateHidden"

UPD カスタム スタイルのように見えるため、edittext スタイルのパディングを変更する必要があるかもしれません。

于 2012-08-14T00:29:19.767 に答える
1

マニフェストのアクティビティ タグで android:windowSoftInputMode="adjustResize" を使用します。ソフトキーボードの上にすべてのビューが表示されます。

于 2012-12-26T09:46:25.123 に答える