Ich würde gerne ein Padding zwischen JEDEM Element in einer Listenansicht hinzufügen, aber ich möchte die Standardtrennlinie beibehalten, da ich denke, dass sie ästhetisch ansprechend ist. Alles, was breiter ist, sieht hässlich aus.
Ich habe derzeit:
%Vor%Nun habe ich versucht, einen transparenten Teiler zu verwenden, und es gelingt mir, den gewünschten Abstand zu bekommen, aber dann sehe ich die kleine Linie nicht. Und wenn ich keinen transparenten Teiler verwende, habe ich eine riesige, dicke, hässliche Linie. Ich möchte die angezeigte Standardzeile beibehalten und nur einen Abstand im oberen Teil jedes Listenansichtelements hinzufügen.
Sie könnten dann nicht so einfach das erreichen, was Sie wollen.
Schritt eins: Setzen Sie den Teiler als transparent und erhöhen Sie die Höhe etwas:
%Vor%Schritt 2: Um den "kleine Linie" -Effekt zu erzielen, können Sie ein benutzerdefiniertes Zeichenelement als Listenansichts-Elementhintergrund hinzufügen. Das Listenansichtselement ist beispielsweise als 'list_item.xml' definiert:
%Vor%Natürlich kann dieser Gegenstand alles sein, was du willst, meins ist:
%Vor%Aber das würde dann den "Holo Selector" -Effekt deaktivieren, wo immer wenn Sie klicken oder ein Element in der Listenansicht markieren, wird eine Holo Blue-Farbe darüber gezeichnet, deshalb haben wir, wenn Sie auf dem Hintergrund der Listenelemente auffallen, nicht Wenn Sie eine Ebenenliste verwenden, die gezeichnet werden kann, verwenden wir einen Selektor namens 'list_item_selector'.
Hier ist der Selektor, der die Ebenenliste verwendet, die gezeichnet werden kann, wenn er nicht gedrückt wird, und eine Holo-blaue Farbe verwendet, wenn er gedrückt wird:
%Vor%BEARBEITEN für Kommentar
Absolut möglich, Sie können eine festgelegte Höhe für Listenansichtselemente definieren. Es wird jedoch empfohlen, eine Mindesthöhe und keine vordefinierte Höhe festzulegen, die sich niemals ändert.
Sagen Sie, dies ist mein Listenelementlayout:
%Vor%Alles was benötigt wird,
Schritt eins: Definieren Sie in der Datei dimens.xml, die im Ordner "values /" enthalten ist, die minimale Höhe oder die maximale Höhe, die Sie bevorzugen. Warum? Da sich die Höhe basierend auf dem Layout definitiv ändern sollte, können Sie für jede Gerätedichte unterschiedliche dimens.xml definieren.
in der dimens.xml, sagen wir:
%Vor% Verwenden Sie dann den Wert für das übergeordnete Element LinearLayout
des Layouts des Listenelements.
Und das ist es für dieses Thema, jetzt um den Text zu zentrieren, ist es noch einfacher:
Wenn Sie eine TextView verwenden und in ein RelativeLayout eingebunden werden, verwenden Sie: android:layout_centerVertical="true"
Wenn Sie ein LinearLayout verwenden, verwenden Sie: android:layout_gravity="center_vertical"
und koppeln Sie das mit: HINWEIS Dies funktioniert nur, wenn Sie die Höhe nicht auf wrap_content festgelegt haben, sonst ist es irrelevant.
%Vor%Ich hoffe, das hilft.
Ich weiß nicht, ob ich Ihre Frage genau verstehe.
Wenn Sie möchten, dass der Teiler transparent ist, sehen Sie zwischen jedem ListView
einen Hintergrund, so dass beim Scrollen eine Art 3D-Effekt entsteht. Du könntest es so machen:
Geben Sie in Ihrer list_item-XML die LinearLayout
die gewünschte Hintergrundfarbe ein, zum Beispiel:
Dann geben Sie Ihrer ListView
eine Hintergrundfarbe wie folgt:
Jetzt scrollt dein ListView
über deinen Hintergrund
Ich hoffe, das ist was du wolltest.
Eine weitere Möglichkeit, den Abstand zwischen den Listenelementen zu vergrößern, besteht darin, dass Sie Ihrem Adaptercode eine leere Ansicht hinzufügen, indem Sie das Attribut layout_height mit dem erforderlichen Abstand versehen. Für z.B. Um den unteren Abstand zwischen Ihren Listenelementen zu erhöhen, fügen Sie diese Dummy-Ansicht (leere Ansicht) am Ende Ihrer Listenelemente hinzu.
%Vor%Dies wird also einen unteren Abstand von 15 dp zwischen Listenansichtselementen bereitstellen. Sie können dies direkt hinzufügen, wenn das übergeordnete Layout LinearLayout ist und die Ausrichtung vertikal ist oder geeignete Schritte für das andere Layout ausführen. Hoffe das hilft: -)
Dies ist eine Lösung für diejenigen unter Ihnen, die nicht wollen, dass der Teiler sichtbar ist und immer noch mehr Platz hinzufügen möchte. Um den Teiler vollständig zu entfernen, setze ihn auf @null und setze die Teilerhöhe auf 0dp. Hier ist eine generische ListView von Minen.
%Vor%Als nächstes gehen Sie zu der XML-Datei, in der Sie den Adapter verwenden, um Ihre Listenansicht zu füllen. Gehe zu deinem Container (Beispiel RelativeLayout ...) und füge einfach folgendes hinzu:
%Vor%Dies wird tatsächlich Platz für diejenigen von euch schaffen, die den Teiler nicht benutzen. Im Gegensatz zum Padding, bei dem nur die Boxgröße erhöht wird, erhöht sich der Abstand zwischen den einzelnen Elementen.
Sie können einfach Teiler
verwendensiehe folgendes Beispiel
%Vor%hier, in android: divider können Sie Farbe festlegen oder transparent machen und in dividerHeight zum Hinzufügen von spce zwischen Elementen.
Fügen Sie innerhalb des ListView
-Tags in der XML-Datei ein dividerHeight
-Tag hinzu und geben Sie einen Wert an (der Abstand, den Sie zwischen Ihren Listeneinträgen haben möchten).
Es würde Ihnen einen geeigneten Abstand zwischen den Listenelementen bieten.
Code:
%Vor% Erstellen Sie nun eine zeichnbare XML-Datei (in diesem Fall ist der Name divi). Im Inneren fügen Sie ein stroke
-Tag hinzu und geben Sie ihm eine Breite, und das würde reichen.
Code:
%Vor%Tags und Links android user-interface listview