首页 文章

在android中的textview的圆角

提问于
浏览
146

我有一个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) 也有圆角时,这怎么可以实现 .

8 回答

  • 0
    <?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>
    
  • 4

    你可以使用SVG圆角并加载到ImageView中并使用ConstraintLayout将ImageView带到TextView上

    我用它来圆角ImageView和圆角TextView

  • 4

    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)在 TextView background属性中设置此drawable . 例如:

    android:background="@drawable/rounded_corner"

    我希望这对你有用 .

  • 4

    由于您的顶级视图已经设置了android:background属性,因此您可以使用 <layer-list>link)创建一个新的XML drawable,它结合了旧背景和新的圆角背景 .

    列表中的每个 <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>
    
  • 381

    radius 旁边,有一些属性可以像 topRightRadiustopLeftRadiusbottomRightRadiusbottomLeftRadius

    示例 TextViewred border with corner and gray`背景

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

    Result

    enter image description here

  • 3

    在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"
    
  • 13

    您可以使用提供的矩形形状(没有渐变,除非您需要),如下所示:

    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"
    

    当然,您需要自定义尺寸和颜色 .

  • 5

    1.右键单击可绘制文件夹并创建新文件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.添加您想要圆角edg的行 android:background="@drawable/corner"

相关问题