Comment ajouter une bordure autour du texte comme indiqué dans l'image à l'aide d'une mise en page XML
J'ai essayé d'ajouter une bordure à la mise en page mais son chevauchement avec du texte.
Vous pouvez essayer cette mise en page, son reflet selon vos besoins
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_margin="15dp" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/border"
Android:layout_marginTop="10dp"
Android:orientation="vertical"
Android:padding="15dp">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textStyle="bold"
Android:text="Label 1: Value 1"/>
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textStyle="bold"
Android:text="Label 2: Value 2"/>
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textStyle="bold"
Android:text="Label 3: Value 3"/>
</LinearLayout>
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentTop="true"
Android:text=" Details "
Android:layout_marginLeft="15dp"
Android:background="#ffffff"
Android:textSize="17sp" />
</RelativeLayout>
xml of border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" >
<stroke
Android:width="2dp"
Android:color="#cdcdcd" />
</shape>
J'espère que cela vous aide en quelque sorte.
Pour ajouter une bordure à Android TextView, nous devons créer un fichier XML contenant une forme sous forme de fichier rectangle dans le dossier de Drawable et le définir en tant qu'arrière-plan de TextView.
<stroke> tag is used to set the border width and color.
border.xml
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle" >
<stroke
Android:width="2dp"
Android:color="#000000" />
</shape>
activity_main.xml
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:padding="10dp" xmlns:tools="http://schemas.Android.com/tools" >
<TextView
Android:id="@+id/textView2"
Android:layout_width="match_parent"
Android:layout_height="30dp"
Android:layout_centerHorizontal="true"
Android:layout_centerVertical="true"
Android:background="@drawable/border"
Android:gravity="center"
Android:text="Android Programming is fun!!" />
</RelativeLayout>
Si vous souhaitez placer une bordure sur un modèle au lieu de textview, définissez le fond du modèle comme
**Android:background="@drawable/border"**
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical">
<FrameLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:padding="16dip">
<TextView
Android:id="@+id/txt_notificaiton"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_margin="10dip"
Android:background="@drawable/button_effect_white"
Android:padding="16dip"
Android:text=""
Android:textColor="@drawable/text_color_white"
Android:textSize="22dip" />
<TextView
Android:id="@+id/txt_createddateandtime"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="right|bottom"
Android:padding="16dp"
Android:text=""
Android:textSize="12dip" />
<TextView
Android:id="@+id/iv_read_unread"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="left|top"
Android:layout_marginRight="10dp"
Android:background="@color/white"
Android:text="Details" />
</FrameLayout>
</LinearLayout>
Créer un fichier pouvant être dessiné et ajouter ce code dans ce fichier
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners Android:radius="2dp" />
<stroke
Android:width="2px"
Android:color="@color/colorGreyBrown" />
<solid Android:color="#ffffff" />
</shape>
puis définissez ce fichier dessinable comme arrière-plan de votre affichage de texte
<TextView
Android:id="@+id/Textview_register_als"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/foodynet_rounded_corner_brown_color_border_white_bg"
Android:gravity="center"
Android:text="@string/string_text_register"
Android:textColor="@color/colorGreyBrown"
Android:textSize="@dimen/text" />
Comme nous le savons, les performances de ConstraintLayout sont bonnes et efficaces. Par conséquent, voici un code avec ConstraintLayout.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools">
<androidx.constraintlayout.widget.ConstraintLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@color/color_white">
<LinearLayout
Android:id="@+id/ll_user_name"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_margin="16dp"
Android:layout_marginStart="16dp"
Android:layout_marginTop="16dp"
Android:layout_marginEnd="16dp"
Android:background="@drawable/rectangle_with_circular_border"
Android:orientation="vertical"
Android:padding="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
Android:id="@+id/tv_user_name"
style="@style/TextViewStyle"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textColor="@color/color_333333"
Android:textSize="@dimen/sixteen_sp"
tools:text="FirstName LastName"/>
</LinearLayout>
<TextView
Android:id="@+id/tv_user_name_title"
style="@style/TextViewStyle"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginStart="32dp"
Android:layout_marginTop="8dp"
Android:layout_marginEnd="8dp"
Android:textSize="@dimen/fourteen_sp"
Android:background="@color/color_white"
Android:text=" Name "
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
textbackground.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<item Android:state_pressed="true">
<shape >
<solid Android:color="@color/white"/>
<corners
Android:radius="1dp"/>
</shape>
</item>
<item Android:state_focused="true" >
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<solid Android:color="@color/white"/>
<corners
Android:radius="1dp"/>
</shape>
</item>
<item Android:state_focused="false" >
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<solid Android:color="#c38416"/>
<stroke
Android:width="3dp"
Android:color="@color/bordercolor" />
<corners Android:radius="3dp" />
<padding
Android:bottom="6dp"
Android:left="6dp"
Android:right="6dp"
Android:top="6dp" />
</shape>
</item>
<item Android:state_pressed="false" >
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
<solid Android:color="#c38416"/>
<corners
Android:radius="1dp"
/>
</shape>
and
<TextView
Android:background="@drawable/textbackground"
/>