Ich muss Widget implementieren, die einen Hintergrund wie auf dem Bild gezeigt hat - Kreis, wenn eine Ziffer, abgerundet Rect, wenn zwei Ziffern. Es sollte eine Fähigkeit haben, sich dynamisch zu verändern. Wie kann ich das erreichen?Android Kreis und abgerundeten Hintergrund
0
A
Antwort
0
Für das Rechteck mit abgerundeten Ecken Diese XML in Ihre ziehbar Ordner hinzufügen und es als Hintergrund für die Sie
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid
android:color="your own color" />
<corners android:bottomLeftRadius="7dp"
android:bottomRightRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp" />
</shape>
hinzufügen Für den Kreis wollen Ansicht verwenden diese xml in ziehbar Ordner
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<solid
android:color="your own color"
<size
android:width="4dp"
android:height="4dp"/>
ändern sich die Höhe, Breite, Eckenradius Größen zu Ihrem
1
mögen Hintergrund wie in Frage oben zu erstellen, müssen Sie benutzerdefinierte Form erstellen und als Hintergrund der TextView
gelten.
ring.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/selectable_kachel_shape">
<shape
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2"
android:useLevel="false">
<!--<solid android:color="#ff00ffff"/>-->
<gradient
android:centerColor="#FFFFFF"
android:endColor="#FFFFFF"
android:startColor="#FFFFFF"
android:type="sweep"/>
</shape>
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="2.2"
android:useLevel="false">
<solid android:color="#ff0000"/>
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp"/>
</shape>
</item>
</layer-list>
Bitte verwenden Sie diesen ring.xml
als Hintergrund von TextView
wie folgt:
<TextView
android:id="@+id/txt_pending_count"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_alignParentRight="true"
android:background="@drawable/ring"
android:gravity="center"
android:text="0"
android:textColor="#FFF"
android:textSize="10sp"
android:textStyle="bold"/>
Dank.
so schreiben Sie Ihre benutzerdefinierte 'View' – pskink
@Anton Kizema: Ich denke, Sie müssen nur Hintergrund dieser Ansicht als' zeichnende' mit 'Form' Attribut als' Ring' definieren. – AndiGeeky
müssen Sie einen benutzerdefinierten Stil erstellen –