2017-03-28 8 views
0

Ich habe heute ListView für mein Projekt verwendet, und ich brauche meine Listenansicht von der Schaltfläche zu starten, die von BUT aufgerufen wurde, da sich die normale Listenansicht verhält. Die Elemente werden normalerweise oben auf dem zugeordneten Platz angezeigt (auf dem Bildschirm) und wenn es das tut, hinterlässt es unerwünschten Raum, den ich loswerden möchte.Wie entferne ich den Platz am Ende einer kurzen Liste?

Meine ListView nehmen an, 1-4 Positionen für Vorführungen und 2 mehr beim Scrollen zu halten. So gibt es Situationen, in denen die Liste selbst nicht voll ist.

Ist es möglich, meine Listenansicht zu machen, was ich suche, und wenn ja, wie?

Ein visuelles Beispiel: Mein aktueller Listview sieht wie folgt aus:

Item 1 
Item 2 
Item 3 
*unwanted space* 
*Button that changes the visibillity of the list view* 

ich meine Liste Ansicht wie folgt aussehen soll, wenn die Liste kurz stellt sich heraus:

Item 1 
Item 2 
Item 3 
*Button that changes the visibillity of the list view* 

Das ist das ist XML meiner ListView

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layoutDirection="ltr" 
    tools:targetApi="11"> 

    <ListView 
     android:id="@+id/lv" 
     style="@style/Widget.AppCompat.ListView" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     android:layout_above="@+id/chooserBtn" 
     android:layout_alignEnd="@+id/chooserBtn" 
     android:layout_alignStart="@+id/chooserBtn" 
     android:footerDividersEnabled="false" 
     android:headerDividersEnabled="false" /> 
</RelativeLayout> 
+0

wo Code-Taste? –

+0

Den Code von listview_item anzeigen. Wahrscheinlich geben Sie Padding/Rand von oben oder unten, die auch für den letzten Gegenstand gelten. –

Antwort

0

Yeah ... Ich suchte noch ein paar Stunden im Web und fand endlich eine funktionierende Lösung.

Diese drei Linien in der XML hinzugefügt werden benötigt:

android:footerDividersEnabled="false" 
android:stackFromBottom="true" 
android:headerDividersEnabled="false" 
0

Sie sollten "wrap_content" Höhe von verwenden Listenansicht und das Elternlayout.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layoutDirection="ltr" 
    tools:targetApi="11"> 
    <ListView 
      android:id="@+id/lv" 
      style="@style/Widget.AppCompat.ListView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/chooserBtn" 
      android:layout_alignEnd="@+id/chooserBtn" 
      android:layout_alignStart="@+id/chooserBtn" 
      android:footerDividersEnabled="false" 
      android:headerDividersEnabled="false" /> 
<!-- or use button code here just make listview height as "wrap_content"--> 
</RelativeLayout> 

Hoffe, das wird helfen.

+0

Ich kann meine Höhe nicht ändern, um Inhalte zu verpacken, weil ich den Platz eingeschränkt habe, dem ich folgen muss. – RandomName

+0

Dann setzen Sie den vollständigen Code hier .. – Cool7

Verwandte Themen