2

あるフラグメントでは、このレイアウトを使用します

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/header_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" >

<LinearLayout
    android:id="@+id/layoutButtonAdd"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="vertical" >

    <ImageView style="@style/line" />

    <Button
        android:id="@+id/buttonAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="@string/addSrButton"
        android:visibility="gone" />
</LinearLayout>

<LinearLayout
    android:id="@+id/layoutList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/layoutButtonAdd"
    android:layout_alignParentTop="true"

    android:orientation="vertical" >


    <LinearLayout
        android:id="@+id/progressContainer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical"
        android:visibility="gone" >

        <ProgressBar
            style="?android:attr/progressBarStyleLarge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="4dip"
            android:singleLine="true"
            android:text=""
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/listContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingBottom="1dip"
        android:paddingLeft="9dip"
        android:paddingRight="4dip"
        android:paddingTop="1dip" >

        <ListView
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:descendantFocusability="beforeDescendants"
            android:drawSelectorOnTop="false"
            android:visibility="gone" />

        <TextView
            android:id="@+id/internalEmpty"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

</LinearLayout>

i に、必要なビューをandroid:id="@android:id/list"動的に追加します (テキストの編集など)。

問題は、EditText を初めてクリックすると、フォーカスが取得され、ウィンドウがパンを正しく調整することです。しかし、すでにフォーカスがある editText をクリックすると、キーボードが表示されますが、必要な EditText フィールドと重なっています (つまり、パンの調整が正しく機能しません)。私のマニフェストファイルandroid:windowSoftInputMode="adjustPan"に設定されています。 android:minSdkVersion="7"

でレイアウトをラッピングするトリックについて読んだことScrollViewがありますが、すでに垂直スクロール(LinearLayout)の要素があります。

何か案は?

4

1 に答える 1

2

android:windowSoftInputMode="adjustResize" を使用してみてください

于 2013-04-29T10:46:56.370 に答える