android中textview的圆角该怎么使用?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我有一个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>
提问于
用户回答回答于

由于你的顶级视图已经具有android:background属性集,因此你可以使用<layer-list>创建新的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>
用户回答回答于

1)rounded_corner.xmldrawable文件夹中创建并添加以下内容:

<?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:top="1dp" />

   <corners android:radius="5dp" />
</shape>

2)在TextView后台属性中设置该drawable。例如:

android:background="@drawable/rounded_corner"

扫码关注云+社区