Android: 可绘制完美圆角

Android: drawable with perfect round corner

我正在尝试制作如下所示的可绘制对象:

我用下面的代码做了这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:background="@color/white"
    android:padding="10dp"
    android:orientation="vertical">

<View
    android:layout_width="40dp"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:background="@drawable/bg_round_button_green"/>

<View
    android:layout_width="40dp"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:background="@drawable/bg_round_button_green"/>

<TextView
    android:layout_width="match_parent"
    android:layout_height="36dp"
    android:text="Text"
    android:textColor="@color/white"
    android:textSize="22sp"
    android:gravity="center"
    android:layout_centerVertical="true"
    android:background="@color/siam_green3"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"/>

</RelativeLayout>  

bg_round_button_green.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring">
    <solid android:color="#FF0DAB61"/>
</shape>  

我也试过这个:
bg_round_button_green.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#FF0DAB61"/>
    <corners android:radius="100dp"/>
</shape>  

但是显示,

是否可以使用单个可绘制形状(无需创建三个视图)来实现此目的?

如果您要绘制一个角设置为较大值的可绘制对象:

<corners android:radius="100dp" />

没有3次观看,您将得到想要的东西

试试这个。非常适合我。

<?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#A5000000"/>
    <stroke android:width="0dp"
      android:color="#00FFFFFF"/>
    <padding android:left="0dp"
      android:top="0dp"
      android:right="0dp"
      android:bottom="0dp"/>
    <corners android:bottomRightRadius="10dp"
      android:bottomLeftRadius="10dp"
      android:topLeftRadius="10dp"
      android:topRightRadius="10dp"/>
  </shape>