问题:自定义按钮的颜色 形状弧度 渐变效果
1.新建自定义属性button_login.xml
(借鉴某大神)
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape > <!-- 开始颜色="" 结束颜色="" 颜色渐变="" --> <gradient android:angle="270" android:endColor="#888888" android:startColor="#888888" /> <!-- 渐变方向 按钮边缘="" 边缘宽="" --> <stroke android:width="1sp" android:color="#7d5a7d" /> <!-- 边缘颜色 按钮四个圆角="" --> <corners android:radius="30dp" /> <!-- 半径 内边距="" 按钮文字和边缘距离="" --> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape> </item> <item android:state_focused="true"> <shape> <gradient android:angle="270" android:endColor="#7d5a7d" android:startColor="#7d5a7d" /> <stroke android:width="1sp" android:color="#dcdcdc" /> <corners android:radius="30dp" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape> </item> <item> <shape> <gradient android:angle="270" android:endColor="#00000000" android:startColor="#00000000" /> <stroke android:width="1sp" android:color="#7d5a7d" /> <corners android:radius="30dp" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape> </item> </selector>
2.在布局中引用:
<Button android:id="@+id/login" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="登录" android:layout_weight="0.06" android:elevation="0dp" android:padding="12px" android:background="@drawable/button_login" android:textColor="#faf7fa" android:textSize="18dp"/>