6

私は使用しようとしてきた

一番下のリスト項目がフッターに表示されない問題を修正

ただし、 scrollview では機能しません。リストビューを使用していないことに注意してください。ただし、画像とボタンを含む大きなレイアウトです。ユーザーがスクロールしているときでも、フッターは常にボタンに配置する必要があります。FourSquare のアプリにはこれがあり、スクロール中でも固定フッターが表示されます。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >

<RelativeLayout
    android:id="@+id/root"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/search_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/red" />

    <LinearLayout
        android:id="@+id/main_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/search_container"
        android:layout_below="@+id/root"
        android:background="@color/layout_bg_wallet_login"
        android:orientation="vertical" >
        ------More Buttons and Images
    </LinearLayout>
</RelativeLayout>

4

3 に答える 3

42

あなたが持っているコードでフッターをスクロールビューの中に入れようとしているようです。スクロール コンテンツに合わせてフッターを移動させたくない場合は、スクロール ビューと同じレイヤーに配置する必要があります。あなたが達成しようとしていると私が信じていることの簡単な例をまとめてください. (この例ではstrings.xmlまたはcolors.xmlを使用しませんでしたが、実際のプロジェクトで使用する必要があります)

<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" >

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/footer"
    android:background="#0000ff"
    android:fillViewport="true" >

    <TextView
        android:id="@+id/texthere"
        android:layout_width="160dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center_vertical|center_horizontal"
        android:text="test test test test test test test test test test 
        test test test test test test test test test test test test test 
        test test test test test test test test test test test test test"
        android:textSize="35sp" >
    </TextView>
</ScrollView>

<RelativeLayout
    android:id="@+id/footer"
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:background="#ffff00" 
    android:layout_alignParentBottom="true">

    <TextView
        android:id="@+id/texthere2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="things in your footer here"
        android:textSize="20sp" />

</RelativeLayout>

</RelativeLayout>
于 2012-11-07T21:01:46.793 に答える
9

このソリューションには問題しかありません。フッターがスクロール ビューの上に浮かび、十分な垂直方向のスペースがない場合、フッターがスクロール ビューの下部を隠してしまいます。

スクロールビュー全体が常に表示されるようにするために、スクロールビューの下部パディングを例のフッターの高さに等しくしました(50dp):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
  >
     <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="50dp" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            .......

        </LinearLayout>
    </ScrollView>

    <include
        android:layout_height="50dp"
        android:layout_width="match_parent"
        android:layout_alignParentBottom="true"
        layout="@layout/footer" >
    </include>
  </RelativeLayout>
于 2014-09-30T08:53:45.360 に答える