Ich mag würde einen Listview haben, in der die Zeilen:Wie das Aussehen einer Listview-Zeilen anpassen
- haben abgerundete Ecken;
- sind teilweise gefärbt (der linke Teil jeder Reihe);
- enthalten in ihrem farbigen Bereich eine Form, die mit einer anderen Farbe gefüllt ist. Hier
ist ein Beispiel aus einer anderen App:
ich zur Zeit zwei Leitungen haben, aber ich habe nicht mit einem von ihnen gelingen.
Meine erste Führung (Form)
Ich fand, wie abgerundete Ecken zu erhalten, indem eine Form verwendet und es als Hintergrund für die Listenansicht verwenden.
Die ziehbar Formdatei „rounded_rectangle.xml“:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners
android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"/>
</shape>
Die Aktivität Datei:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_width="match_parent"
android:layout_height="match_parent">
// ...
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/splitView"
android:id="@+id/lv_player"
android:layout_alignParentTop="true"
android:background="@drawable/rounded_rectangle"/>
// ...
</FrameLayout>
Aber ich weiß nicht, wie eine Form zu verwenden, eine Reihe teilweise gefärbt haben oder zeichne ein Symbol. Ich kann die Form mit einer Farbe füllen, aber dann sind die Reihen vollständig gefärbt.
Meine zweite Führung (Vektor)
Ich fand auch, dass ich einen Vektor als Hintergrund meiner Listview verwenden können. Der Vorteil ist, dass ich mit Pfaden zeichnen kann, was ich will.
Ein Beispiel für eine Vektordatei:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="64dp"
android:width="64dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<path
android:name="w"
android:fillColor="#000000"
android:pathData="m 290,103 l-200,0 c -50,0 -50,-100 0,-100 l200,0 z"
/>
</vector>
ich einen Weg für den farbigen Bereich meiner Zeilen und ein anderes für das Symbol einfach erstellen kann. Nun, das Problem ist, dass ich nicht weiß, wie man die Größe des Vektors auf die Größe der Linie skaliert.
Wissen Sie, was die beste Option wäre und wie kann ich das erwartete Ergebnis erzielen?
Vielen Dank im Voraus.