web-dev-qa-db-de.com

Abgerundete Ecke für Textansicht in Android

Ich habe eine Textansicht und möchte, dass die Ecke rund ist. Ich weiß bereits, dass es mit Android:background="@drawable/somefile" möglich ist. In meinem Fall ist dieses Tag bereits enthalten und kann daher nicht erneut verwendet werden. Android:background="@drawable/mydialogbox" ist bereits vorhanden, um ein Bild im Hintergrund zu erstellen 

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

also wenn ich textview(textview_name) auch mit runder ecke will, wie man das erreichen kann.

135
Sanjeev Yadav

1) Erstellen Sie rounded_corner.xml im Ordner drawable und fügen Sie den folgenden Inhalt hinzu:

<?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) Setzen Sie dieses Zeichen in die TextView-Hintergrundeigenschaft. Beispiel:

Android:background="@drawable/rounded_corner"

Ich hoffe das ist nützlich für dich.

367
dipali

Da für die Ansicht auf oberster Ebene bereits die Eigenschaft Android: background festgelegt ist, können Sie mit <layer-list> ( link ) ein neues XML-Zeichenelement erstellen, das Ihren alten Hintergrund und den neuen Hintergrund mit abgerundeten Ecken kombiniert.

Jedes <item>-Element in der Liste wird über das nächste Element gezeichnet, sodass das letzte Element in der Liste das Element ist, das oben endet.

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

Neben radius gibt es eine Eigenschaft, die die Ecken abrundet, wie topRightRadius, topLeftRadius, bottomRightRadius, bottomLeftRadius.

Beispiel TextView mit red borderwith corner andgray` Hintergrund 

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>

Textvorschau

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

Ergebnis

 enter image description here

5
Linh

Sie können die bereitgestellte Rechteckform (ohne Farbverlauf, sofern Sie keine möchten) wie folgt verwenden:

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

Dann in deiner Textansicht:

Android:background="@drawable/rounded_rectangle"

Natürlich möchten Sie die Abmessungen und Farben anpassen.

4
Tad

1.Klicken Sie mit der rechten Maustaste auf Drawable Folder und erstellen Sie eine neue Datei 2. Benennen Sie die Datei entsprechend und fügen Sie die Erweiterung als .xml ..__ hinzu. 3. Fügen Sie den folgenden Code in die Datei ein

  <?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.Fügen Sie die Zeile dort hinzu, wo Sie den abgerundeten edgAndroid:background="@drawable/corner" wünschen.

4

erstellen Sie eine XML-Farbverlauf.xml-Datei im Ordner "drawable"

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

dann fügen Sie dies Ihrem TextView hinzu

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

Versuchen Sie es mit dieser Site. Erstellen Sie einen Hintergrund als Ihren Wunsch und stellen Sie ihn als Textview-Hintergrund ein.

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

1
shiju B

Sie können SVG zum Abrunden von Ecken und Laden in eine ImageView verwenden und ConstraintLayout verwenden, um ImageView in TextView zu übernehmen

Ich habe es für abgerundete ImageView und abgerundete TextView verwendet

0
Omid Farvid