Forme de l'anneau dans android
J'ai de la suite xml
dans le dossier drawable (circle_status.xml
) pour créer un anneau:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="15dp"
android:thickness="10dp"
android:useLevel="false">
<solid android:color="#ababf2" />
</shape>
Et insérez le drawable comme un arrière-plan d'un relativeLayout, comme suivant:
<RelativeLayout
android:id="@+id/RelativeLayout_Status"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@drawable/circle_status" >
</RelativeLayout>
Le problème, est dans le relativeLayout apparaissent un cercle pas un anneau.
4 réponses
Je me réponds.
Il semble que le problème soit dans L'éditeur de mise en page graphique D'Eclipse, le code fonctionne bien dans un périphérique réel.
Notez qu'un anneau est un ovale, sans remplissage. Avec juste un accident vasculaire cérébral. Et la vue le tenant, devrait être un carré parfait.
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="@color/blue" />
</shape>
Et la vue qui le maintient
<ImageView
android:layout_width="10dp"
android:layout_height="10dp"
android:src="@drawable/ring" />
Ce hack montre un anneau sur l'appareil et Android Studio:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring" android:innerRadius="23dp" android:thickness="0dp">
<stroke android:width="2dp" android:color="#ababf2" />
</shape>
Vous devez utiliser <stroke>
tag au lieu de <solid>
tag pour ring dans une balise <shape>
.
L'utilisation de la balise <solid>
dans une balise <shape>
entraîne un cercle et non un anneau.
<solid>
tag peut être utilisé pour la couleur de fond de l'anneau et <stroke>
pour la couleur du corps de l'anneau.