在android中自定义形状的Linearlayout与弯曲的一面

我正在试图做一个自定义的形状linearlayout像下面

在这里输入图像说明

我正在试图只让一边弯曲。 尝试与angular落半径,但它不会像上面一样的外观。

已经尝试过这种背景形状如下:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#3F51B5" /> <padding android:bottom="7dp" android:left="7dp" android:right="7dp" android:top="7dp" /> <corners android:bottomLeftRadius="50dp" android:bottomRightRadius="50dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> 

它只是四舍五入,增加值的形状不被保留,它变得太圆形。 我想曲线,而不是圆angular

Solutions Collecting From Web of "在android中自定义形状的Linearlayout与弯曲的一面"

在可绘制文件夹中创build一个形状文件,例如:my_shape.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:bottomLeftRadius="100dp" android:bottomRightRadius="100dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp" /> <stroke android:width="0.5dp" android:color="@color/theme_red" /> <solid android:color="@color/white" /> </shape> 

然后在布局中添加此形状作为背景。 例如:

 <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/my_shape" android:orientation="horizontal"> </LinearLayout> 

我所做的是创build一个drawable allowaccess_button_normal.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval"> <solid android:color="@color/colorPrimary"/> </shape> </item> </selector> 

尝试下面的布局

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#fefefe" android:layout_height="match_parent"> <RelativeLayout android:layout_width="match_parent" android:background="@color/colorPrimary" android:layout_height="110dp"> </RelativeLayout> <ImageView android:layout_marginTop="85dp" android:src="@drawable/allowaccess_button_normal" android:layout_width="match_parent" android:layout_height="50dp" /> </RelativeLayout> 

在这里输入图像说明

  <layer-lisxmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="175dp"> <shape android:shape="oval"> <gradient android:angle="135" android:startColor="#f56f2c" android:endColor="#fa9f46"/> </shape> </item> <item android:bottom="40dp"> <shape android:shape="rectangle"> <gradient android:angle="135" android:startColor="#f56f2c" android:endColor="#fa9f46"/> </shape> </item> </layer-list> 

你可以在-dimension.xml文件中设置维度,然后将其设置在你的线性布局的xml中,它会给出如下

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#FFFF00" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> 

只需在您的可绘制集合中创build一个xml文件,然后通过线性布局调用它

您可以在后台应用图片