1

次の設計に従って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アプリが初めてで、どんなガイダンスも本当に感謝しています.

4

2 に答える 2

3

a のListView中で a を使用することはできませんScrollView.

またはのいずれかを使用できますが、両方を一緒に使用しScrollViewたりListView、一方を他方の中に入れたりすることはできません。

于 2013-11-17T08:42:03.233 に答える
2

私のコメントを要約すると:

不要なrelativeLayout12、および3を削除しscrollViewます。次に、一番下の画像ボタンを線形レイアウトの上に移動します。これにより、線形レイアウト自体をlayout_above画像ボタンと一緒に配置し、高さを にすることができますmatch_parent。これにより、上部の線形レイアウトと下部の画像ボタンの間のスペースが埋められます。最後にスクロール ビューの高さを作成してmatch_parent、テキスト ビューの下に残っているスペースも埋めるようにします。

于 2013-11-13T23:22:27.677 に答える