web-dev-qa-db-ja.com

アンドロイドのtextviewのための角が丸い

私はテキストビューを持っていて、そのコーナーが丸い形になっていることを望みます。 Android:background="@drawable/somefile"を使ってそれができることを私はすでに知っています。私の場合は、このタグは既に含まれているので再度使用することはできません。例:バックグラウンドで画像を作成するためにAndroid:background="@drawable/mydialogbox"は既に存在します

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

それで私がtextview(textview_name)を丸みを帯びた角でも欲しいとき、これがどのように達成されることができるか。

151
Sanjeev Yadav

1)drawableフォルダーにrounded_corner.xmlを作成し、以下の内容を追加します。

<?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)このdrawableをTextViewバックグラウンドプロパティに設定します。例えば:

Android:background="@drawable/rounded_corner"

これがあなたに役立つことを願っています。

393
dipali

トップレベルのビューにはすでにAndroid:backgroundプロパティが設定されているので、<layer-list>link )を使用して、古い背景と新しい角丸の背景の両方を組み合わせた新しいXMLドロアブルを作成できます。

リスト内の各<item>要素は、次の要素の上に描画されます。したがって、リストの最後の項目は最後に表示される項目です。

<?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>
14
preoccu panda

radiusの他に、topRightRadiustopLeftRadiusbottomRightRadiusbottomLeftRadiusのように角を丸めるプロパティがあります。

TextViewとborderwith corner andgray`の背景を持つ例red

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>

TextView

<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"
    />

結果

enter image description here

10
Phan Van Linh

1. Drawable Folderを右クリックして新しいファイルを作成します。2.あなたに従ってファイルに名前を付け、拡張子を.xmlとして追加します。 3.ファイルに次のコードを追加します。

  <?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.丸みを帯びたedgAndroid:background="@drawable/corner"を追加します。

5

drawableフォルダーの下にxml gradient.xmlファイルを作成します

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

それからあなたのTextViewにこれを加えなさい

Android:background="@drawable/gradient"
5
Sourav Roy

次のように、提供されている長方形の形状を使用することができます(必要でない限り、グラデーションなし)。

drawable/rounded_rectangle.xml内:

<?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" Android:color="#ff0000" />
    <solid Android:color="#00ff00" />
</shape>

それからあなたのテキストビューで:

Android:background="@drawable/rounded_rectangle"

もちろん、あなたは寸法と色をカスタマイズしたいでしょう。

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

このサイトを試して、あなたの願いとして背景を一つ作成し、それをur textviewの背景として設定してください。

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

1
shiju B

SVGを使用して角を丸めてImageViewにロードし、ConstraintLayoutを使用してImageViewをTextViewに表示することができます。

丸みを帯びたImageViewと丸みを帯びたTextViewに使用しました

0
Omid Farvid