web-dev-qa-db-fra.com

Coin arrondi pour textview dans Android

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é.

135
Sanjeev Yadav

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.

367
dipali

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>
13
preoccu panda

En plus de radius, il existe des propriétés à arrondir comme topRightRadius, topLeftRadius, bottomRightRadius, bottomLeftRadius

Exemple TextView avec red borderwith corner andgray` 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

 enter image description here

5
Linh

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"

4
Ashishkumar Mouria

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"
4
Sourav Roy
<?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>
3
goonerDroid

Essayez ce site, créez un arrière-plan selon vos souhaits et définissez-le comme arrière-plan avec textview.

http://www.holshousersoftware.com/glass/

1
shiju B

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

0
Omid Farvid