あるフラグメントでは、このレイアウトを使用します
<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)の要素があります。
何か案は?