J'ai un texte et je veux que son coin soit rond. Je sais déjà que cela peut être fait avec Android:background="@drawable/somefile"
. Dans mon cas, cette balise est déjà incluse et ne peut donc plus être utilisée. par exemple Android:background="@drawable/mydialogbox"
est déjà là pour créer une image en arrière-plan
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_gravity="top"
Android:background="@drawable/mydialogbox"
Android:orientation="horizontal" >
<TextView
Android:id="@+id/textview_name"
Android:layout_alignParentTop="true"
Android:layout_centerHorizontal="true" />
</LinearLayout>
</RelativeLayout>
donc, quand je veux textview(textview_name)
également avec un coin arrondi, comment cela peut être réalisé.
1) Créez rounded_corner.xml
dans le dossier drawable
et ajoutez le contenu suivant,
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<stroke
Android:width="1dp"
Android:color="@color/common_border_color" />
<solid Android:color="#ffffff" />
<padding
Android:left="1dp"
Android:right="1dp"
Android:bottom="1dp"
Android:top="1dp" />
<corners Android:radius="5dp" />
</shape>
2) Définissez cette valeur dans la propriété d'arrière-plan TextView
.
Android:background="@drawable/rounded_corner"
J'espère que cela vous sera utile.
Etant donné que votre vue de niveau supérieur contient déjà la propriété Android: background, vous pouvez utiliser un <layer-list>
( link ) pour créer un nouveau dessin XML combinant votre ancien arrière-plan et votre nouvel arrière-plan de coins arrondis.
Chaque élément <item>
de la liste est dessiné sur le suivant, ainsi le dernier élément de la liste est celui qui se termine en haut.
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item>
<bitmap Android:src="@drawable/mydialogbox" />
</item>
<item>
<shape>
<stroke
Android:width="1dp"
Android:color="@color/common_border_color" />
<solid Android:color="#ffffff" />
<padding
Android:left="1dp"
Android:right="1dp"
Android:top="1dp" />
<corners Android:radius="5dp" />
</shape>
</item>
</layer-list>
En plus de radius
, il existe des propriétés à arrondir comme topRightRadius
, topLeftRadius
, bottomRightRadius
, bottomLeftRadius
Exemple TextView
avec red
borderwith corner and
gray` arrière-plan
bg_rounded.xml
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
<stroke
Android:width="10dp"
Android:color="#f00" />
<solid Android:color="#aaa" />
<corners
Android:radius="5dp"
Android:topRightRadius="100dp" />
</shape>
Affichage
<TextView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/bg_rounded"
Android:text="Text"
Android:padding="20dp"
Android:layout_margin="10dp"
/>
Résultat
1.Cliquez avec le bouton droit sur Drawable Folder et créez un nouveau fichier 2. Nommez le fichier en fonction de vous et ajoutez l'extension au format .xml . 3. Ajoutez le code suivant dans le fichier.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners Android:radius="5dp" />
<stroke Android:width="1dp" />
<solid Android:color="#1e90ff" />
</shape>
4.Ajouter la ligne sur laquelle vous souhaitez arrondir edgAndroid:background="@drawable/corner"
créer un fichier xml gradient.xml sous un dossier pouvant être dessiné
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="rectangle" >
<corners Android:radius="50dip" />
<stroke Android:width="1dip" Android:color="#667162" />
<gradient Android:angle="-90" Android:startColor="#ffffff" Android:endColor="#ffffff" />
</shape>
</item>
</selector>
puis ajoutez ceci à votre TextView
Android:background="@drawable/gradient"
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:id="@Android:id/background">
<shape>
<corners Android:radius="5dp" />
<solid Android:color="#ffffff"/>
</shape>
</item>
</layer-list>
Essayez ce site, créez un arrière-plan selon vos souhaits et définissez-le comme arrière-plan avec textview.
Vous pouvez utiliser SVG pour arrondir les angles et charger dans un ImageView et utiliser ConstraintLayout pour amener ImageView sur TextView.
Je l'ai utilisé pour ImageView arrondi et TextView arrondi