Android ListView padding für Inhalte ohne bewegende ListView Höhe?

Ich habe eine ListView mit einem Bündel von Artikeln in ihm. Wie mache ich die oberen und unteren Artikel haben eine obere Marge von 10dp für Top-Element und unteren Rand von 10dp für unteren Element? Jetzt kann ich dies mit Polsterung oder Rand auf der ListView aber das Ergebnis ist, dass, wenn Sie den Rand der ListView scrollen ist jetzt 10dp aus dem unteren Rand des Bildschirms. Jedenfalls um das herum? Ich habe auch versucht, Ränder innerhalb der getView-Methode von meinem Adapter, aber ich sehe keine Margin-Optionen für AbsListView.LayoutParams. Jede Hilfe wäre toll.

Vielen Dank

  • Android MediaRecorder Sampling Rate und Noise
  • Konfigurationsdatei in Android. Gibt es das?
  • Wie kann ich den TimePickerDialog auf 24 Stunden einstellen?
  • Wie kann ich die Farbe des Textansicht-Hyperlinks ändern?
  • Wie komponierst du ELF ausführbare Dateien für Android?
  • Fehler: (30, 13) Fehler beim Auflösen: com.android.support.constraint: constraint-layout: 1.0.0-alpha4
  • Was ist die "Show Implementierung" Verknüpfung in Android Studio?
  • Gibt es eine Broadcast-Aktion für Volumenänderungen?
  • Android: Bold Button Text
  • Wie man das EditText-Feld in Android mit AppCompat v7 anpasst: 21
  • Android-Formular-Validierungs-UI-Bibliothek
  • So aktualisieren Sie SimpleAdapter in Android
  • 3 Solutions collect form web for “Android ListView padding für Inhalte ohne bewegende ListView Höhe?”

    Der Trick ist es, android:clipToPadding="false" in deiner Ansichtsdefinition android:clipToPadding="false" , zB:

     <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="16dip" android:paddingBottom="16dip" android:clipToPadding="false" /> 

    Sie können Platz am oberen und unteren Rand Ihres ListView, innerhalb der Scrolling-Region, indem Sie Kopf-und Fußzeilen. Hier ist ein kurzes Beispiel:

    Definiere deine Fillersicht, die ich header_footer.xml nannte:

     <?xml version="1.0" encoding="utf-8"?> <View xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="10dp"/> 

    Jetzt sieht deine onCreate Methode so aus, vorausgesetzt, du hast deine ListView- listView .

      final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); final View headerFooter = inflater.inflate(R.layout.header_footer, null); listView.addFooterView(headerFooter); listView.addHeaderView(headerFooter); 

    Und dann setze deinen Adapter ein.

    Warum nicht nur die Position des Artikels relativ zur Größe Ihrer Liste überprüfen:

    Polsterung:

      public View getView(int position, View convertView, ViewGroup parent) { //recycle views and whatever else you normally would do goes here.. //... //... if (position == 0){ convertView.setPadding(0, 10, 0, 0); //padding on top for top item } else if (position == getCount() - 1){ convertView.setPadding(0, 0, 0, 10); //padding on bottom for bottom item } else{ convertView.setPadding(0, 0, 0, 0); //no padding } } 

    Für Margen verwenden

     LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lp.setMargins(left, top, right, bottom); convertView.setLayoutParams(lp); 

    Ex:

     public View getView(int position, View convertView, ViewGroup parent) { //recycle views and whatever else you normally would do goes here.. //... //... LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); if (position == 0){ lp.setMargins(0, 10, 0, 0); //margin on top for top item } else if (position == getCount() - 1){ lp.setMargins(0, 10, 0, 10); //margin on bottom for bottom item } else{ lp.setMargins(0, 0, 0, 0); //no margin } convertView.setLayoutParams(lp); } 

    Hiermit haben Sie die getCount () – Methode für Ihren Adapter richtig implementiert.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.