1

以下のコードは、フッター付きの ListView のコードです。私が直面している問題は、ListView の下位のエントリがフッターに重なっているということです。それで、解決策を提案してもらえますか(私は多くのことを試しましたが、それぞれの状況で同じ結果が重複しているため)、または他の方法でそれを行うことができます。前もって感謝します。念のためフッターのコードも載せておきます。

<LinearLayout android:id="@+id/homeParentLayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">


    <ListView android:layout_height="wrap_content"
        android:layout_width="fill_parent" android:id="@+id/listV_main"
        android:listSelector="@android:color/transparent"/>

    <include android:id="@+id/footer" android:layout_height="wrap_content"
        layout="@layout/mymenu" android:layout_width="fill_parent"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true">
    </include>

</RelativeLayout>
</LinearLayout>

mymenu.xml のコード

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:orientation="horizontal" 
android:gravity="center" 
android:layout_gravity="bottom">

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_horizontal"
    android:gravity="center"
    android:orientation="vertical">

    <TableRow 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_horizontal">
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text=" "
                android:gravity="center"/>
            <ImageView 
                android:id="@+id/imgSetting" 
                android:src="@drawable/settings_gear_icon_256"
                android:layout_width="60dip"
                android:layout_height="60dip" 
                android:layout_marginLeft="10sp"
                android:clickable="true"/>

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text=" "
                android:gravity="center"/>


            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text=" "
                android:gravity="center"/>
            <ImageView 
                android:id="@+id/imgLogin" 
                android:layout_width="60dip"
                android:src="@drawable/login_lock_256" 
                android:clickable="true"
                android:layout_height="60dip" />

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text=" "
                android:gravity="center"/>


            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text=" "
                android:gravity="center"/>
    </TableRow>
</TableLayout>
</LinearLayout>             
4

2 に答える 2

2

次のような相対レイアウトを使用します。相対レイアウトを宣言してから、最初の要素としてフッターを宣言します。これらのプロパティは、フッターにとって重要なものです。

android:layout_alignParentBottom="true"
android:id="@+id/footer_id"

次に、このプロパティを使用して listView を宣言します。

android:layout_above="@id/footer_id"

そして、それはそれを行う必要があります。

于 2012-05-31T18:36:49.970 に答える
0

を使用すると、RelativeLayout一般にレイアウト設計の柔軟性が高まりますが、このような非常に単純なレイアウトの場合は、ウェイトを使用して、 を使用した同様の方法で画面領域を分散できますLinearLayout

以下の最も注目すべき変更はListView宣言にあることに注意してください。'0dp' の高さと '1' の重みはListView、フッターを下から押し出すことなく、(垂直方向に) できるだけ多くのスペースを占有します。事実上、これはフッターを下揃えにします。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/homeParentLayout"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ListView android:layout_height="0dp" android:layout_weight="1"
        android:layout_width="fill_parent" android:id="@+id/listV_main"
        android:listSelector="@android:color/transparent" />

    <include android:id="@+id/footer" android:layout_height="wrap_content"
        layout="@layout/mymenu" android:layout_width="fill_parent"
        android:layout_gravity="center_horizontal" />

</LinearLayout>

私はまた、いくつかの残りのタグ/属性のように見えるものをRelativeLayout.

于 2012-05-31T19:26:18.887 に答える