Android:创建一个圆形 TextView?

2022-01-09 00:00:00 android java textview xml-layout

下面是我当前的简单 XML,但是我希望其中的 3 个 TextView 是圆形的,而不是矩形的.

My current simple XML is below, however i would like the 3 TextViews within it to be circular, rather than rectangular.

如何更改我的代码?

<?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="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvSummary1"
        android:layout_width="270dp"
        android:layout_height="60dp" >
    </TextView>

    <TextView
        android:id="@+id/tvSummary2"
        android:layout_width="270dp"
        android:layout_height="60dp" >
    </TextView>

    <TextView
        android:id="@+id/tvSummary3"
        android:layout_width="270dp"
        android:layout_height="60dp" >
    </TextView>

</LinearLayout>

注意:我想要一个实际的圆形,而不是如下所示的弯曲边缘矩形:

Note: I want an actual circle not the curved edge rectangle shown below:

当前代码:

<?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="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvSummary1"
        android:layout_width="270dp"
        android:layout_height="60dp"
        android:text=" " 
        android:gravity="left|center_vertical"
        android:background="@drawable/circle"/>

    <TextView
        android:id="@+id/tvSummary2"
        android:layout_width="270dp"
        android:layout_height="60dp"
        android:background="@drawable/circle" >
    </TextView>

    <TextView
        android:id="@+id/tvSummary3"
        android:layout_width="270dp"
        android:layout_height="60dp"
        android:background="@drawable/circle" >
    </TextView>

</LinearLayout>

当前输出:

推荐答案

我也在寻找解决这个问题的方法,我发现简单舒适的方法是将矩形 TextView 的形状转换为圆形.有了这个方法就完美了:

I was also looking for a solution to this problem and as easy and comfortable I found, was to convert the shape of a rectangular TextView to cirular. With this method will be perfect:

  1. 在名为circle.xml"的drawable文件夹中创建一个新的XML文件(例如)并用以下代码填充它:

  1. Create a new XML file in the drawable folder called "circle.xml" (for example) and fill it with the following code:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <solid android:color="#9FE554" />

    <size
        android:height="60dp"
        android:width="60dp" />

</shape>

使用此文件,您将创建 TextView 的新形式.在这种情况下,我创建了一个绿色圆圈.如果要添加边框,则必须将以下代码添加到上一个文件中:

With this file you will create the new form of TextView. In this case, I created a circle of green. If you want to add a border, you would have to add the following code to the previous file:

    <stroke
        android:width="2dp"
        android:color="#FFFFFF" />

  1. 使用以下代码在可绘制文件夹中创建另一个 XML 文件(rounded_textview.xml"):

  1. Create another XML file ( "rounded_textview.xml") in the drawable folder with the following code:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/circle" />
</selector>

这个文件将改变我们eligamos的TextView的方式.

This file will serve to change the way the TextView we eligamos.

  1. 最后,在我们想要更改方式的 TextView 属性部分,我们前往背景"并选择创建的第二个 XML 文件(rounded_textview.xml").

  1. Finally, in the TextView properties we want to change the way section, we headed to the "background" and select the second XML file created ( "rounded_textview.xml").

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="H"
    android:textSize="30sp"
    android:background="@drawable/rounded_textview"
    android:textColor="@android:color/white"
    android:gravity="center"
    android:id="@+id/mark" />

通过这些步骤,TextView 不再是 TextView,而是矩形有一个圆形.只需更改形状,而不是 TextView 的功能.结果如下:

With these steps, instead of having a TextView TextView rectagular have a circular. Just change the shape, not the functionality of the TextView. The result would be the following:

另外我不得不说,这些步骤可以应用于在属性中具有背景"选项的任何其他组件.

Also I have to say that these steps can be applied to any other component having the option to "background" in the properties.

好运!!

相关文章