TouchListview mit fester Fußzeile
-
28-10-2019 - |
Frage
Meine Frage sollte hier beantwortet werden: Die Fußzeile wurde nicht angezeigtdas unterste Listenelement
Aber es funktioniert nicht bei mir.
Ich möchte eine Listenansicht mit einer festen Fußzeile unten.Im Moment ist die Listenansicht so groß wie das Fenster, wodurch sich die Fußzeile überlappt.XML:
<?xml version="1.0" encoding="utf-8" ?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- <ImageView
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:src="@drawable/baby_blue_solid" android:scaleType="centerCrop" />-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/footer_cloud"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_alignParentBottom="true"
>
<ImageView android:id="@+id/add_icon"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_menu_add"
/>
<ImageView android:id="@+id/cloudBG"
android:layout_centerInParent="true"
android:layout_width="230dp"
android:layout_height="60dp"
android:background="@drawable/cl"
/>
<ImageView
android:id="@+id/footer_divider"
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="@android:drawable/divider_horizontal_bright"
android:layout_above="@id/cloudBG"
/>
</RelativeLayout>
<com.commonsware.cwac.tlv.TouchListView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tlv="http://schemas.android.com/apk/res/com.commonsware.cwac.tlv.demo"
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/root"
android_layout_above="@id/footer_cloud"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/transparent"
tlv:normal_height="64dip"
tlv:grabber="@+id/icon"
tlv:remove_mode="slideLeft"
/>
</RelativeLayout>
Obwohl ich eine Touchlistview von Commonsware verwende, sollte das kein Grund sein, warum es nicht funktionieren würde, denke ich.Kann jemand den Fehler erkennen?
Außerdem kann ich den von mir implementierten Teiler nicht sehen.Wenn ich das Attribut background oder src verwende, ist kein Effekt sichtbar.
Lösung
Verwenden Sie bei der Diagnose von Problemen nach Möglichkeit zunächst ein einfacheres Widget.Wenn Sie Kuriositäten mit TouchListView
feststellen, versuchen Sie es mit einem regulären ListView
.
Zweitens sind Ihre Layoutregeln für den TouchListView
seltsam.Sie versuchen, das Widget unter seinem eigenen Container zu erstellen.Und Sie sollten 0dp
für die Höhe verwenden.
Probieren Sie diese Dinge aus.Wenn das Problem weiterhin auftritt und nur für TouchListView
gilt, benötige ich ein Beispielprojekt, das den Fehler reproduziert, um weitere Untersuchungen durchzuführen.Wenn das Problem mit regulärem ListView
auftritt und das, was ich hier geschrieben habe, nicht geholfen hat, besteht Ihr nächster Schritt darin, mithilfe der Hierarchieansicht zu versuchen, zu diagnostizieren, was mit Ihrem Layout nicht stimmt.