次の設計に従ってAndroidアプリを開発しています。
リストビューにはコンテンツがありませんが、スクロールビューの高さを残りの画面サイズ(ヘッダー、フッター、その他のテキストで占められた後)に設定したいです。リストビューにアイテムが(動的に)追加されたら、同じようにスクロールしたいと思います。しかし、リスト ビューに項目がない場合、初期の高さを設定できません。
以下は私のレイアウトファイルです。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_color"
tools:context=".HomeActivity"
android:weightSum="1.0" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@color/header_color"
android:paddingBottom="@dimen/header_vertical_margin"
android:paddingLeft="@dimen/header_horizontal_margin"
android:paddingRight="@dimen/header_horizontal_margin"
android:paddingTop="@dimen/header_vertical_margin" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:orientation="horizontal"
android:weightSum="1.0" >
<ImageButton
android:id="@+id/ImageButton03"
android:layout_width="62dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:layout_weight="0.2"
android:adjustViewBounds="true"
android:background="@android:color/transparent"
android:gravity="left"
android:scaleType="centerInside"
android:src="@drawable/title_left_img" />
<ImageView
android:id="@+id/headerImg"
android:layout_width="139dp"
android:layout_height="match_parent"
android:layout_weight="0.7"
android:scaleType="centerInside"
android:src="@drawable/header_img"
android:layout_margin="5dp" />
<ImageButton
android:id="@+id/ImageButton04"
android:layout_width="38dp"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:adjustViewBounds="true"
android:background="@android:color/transparent"
android:scaleType="centerInside"
android:src="@drawable/title_right_img" />
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/relativeLayout1"
android:paddingBottom="@dimen/body_vertical_margin"
android:paddingLeft="@dimen/body_horizontal_margin"
android:paddingRight="@dimen/body_horizontal_margin"
android:paddingTop="@dimen/body_vertical_margin" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:orientation="vertical" >
<TextView
android:id="@+id/dayText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="TextView"
android:textColor="@color/day_color"
android:textSize="@dimen/day_size"
android:textStyle="bold" />
<TextView
android:id="@+id/dateTimeText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="TextView | TextView"
android:textColor="@color/time_date_color"
android:textSize="@dimen/date_time_size"
android:textStyle="normal" />
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="wrap_content"
android:layout_height="0px"
android:background="@drawable/rounced_rect"
android:layout_weight="1"
android:fillViewport="true" >
<ListView
android:id="@+id/list_tracking"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp"
android:scrollingCache="true" >
</ListView>
</ScrollView>
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/relativeLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="1dp"
android:paddingBottom="@dimen/footer_vertical_margin"
android:paddingLeft="@dimen/footer_horizontal_margin"
android:paddingRight="@dimen/footer_horizontal_margin"
android:paddingTop="@dimen/footer_vertical_margin" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/track_button"
android:adjustViewBounds="true"
android:background="@android:color/transparent"
android:scaleType="centerInside" />
</RelativeLayout>
私はAndroidアプリが初めてで、どんなガイダンスも本当に感謝しています.