web-dev-qa-db-ja.com

Android:textviewの周りに境界線を追加する

XMLレイアウトを使用して画像に示されているようにテキストの周囲に境界線を追加する方法

image 1

レイアウトに境界線を追加しようとしましたが、テキストと重なっています。

image 2

17
Jignesh

このレイアウトを試すことができ、要件に応じて反映されます

    <?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>

border.xmlの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>

これが何らかの形で役立つことを願っています。

24
A.R.

Android TextViewに境界線を追加するには、drawableのフォルダーの下に長方形ファイルとして形状を含むxmlを作成し、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>

Textviewの代わりにレイアウトに境界線を配置する場合は、レイアウトの背景を次のようにします。

**Android:background="@drawable/border"**
5
Anu Roy
<?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>
0
PriyankaChauhan

描画可能なファイルを作成し、そのファイルにこのコードを追加します

  <?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>

次に、この描画可能なファイルをテキストビューの背景として設定します

    <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" />
0
Amit Desale

enter image description here

私たちが知っているように、ConstraintLayoutは賢明で効率的なパフォーマンスであるため、以下は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>
0
      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"

   />
0
MurugananthamS