我想创建如下所示的自定义按钮背景:
我不能在矩形corners
中使用shape
属性,因为它仅使角部变圆并且左侧的中部是直的,或者每当我对该属性设置过多的值时,它看起来就像。
我希望我可以像here中那样组合2种形状(椭圆形和矩形),但是每当我尝试旋转该图层列表时,它看起来都不像想要的形状。
答案 0 :(得分:2)
尝试这样:
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:background="@drawable/test"
android:text="Button"
android:textColor="@color/black"
/>
和@drawable/test
将如下所示:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="0dp"
android:right="-100dp"
android:top="-30dp"
android:bottom="-30dp">
<shape android:shape="oval">
<solid
android:color="@android:color/white" />
</shape>
</item>
</layer-list>
注意: 我知道这不是最好的解决方案。但是目前这可以有所帮助。 并且如果您想增加Button的宽度,请相应地更改以下属性以适合您的需求。
android:top="-30dp"
android:bottom="-30dp"
和result
如下所示:
答案 1 :(得分:0)
使用以下代码作为可绘制文件,并将其设置为按钮的背景。对于弯曲的边缘,可以从下方增加减小半径。
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="3dp"
android:color="#ffffff" />
<corners android:radius="10dp" />
<gradient
android:angle="270"
android:endColor="#2b74d2"
android:startColor="#2b74d2"
android:type="linear" />
</shape>