如果只想实现圆角效果,对按钮的颜色进行更改看以1.代码即可:
1.Button的圆角,背景颜色实现
需要在下图文件中创建名为btn_shape的DrawableResource文件
btn_shape.xml的代码:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--圆角的弧度-->
<corners android:radius="10dp"/>
<!--按钮的颜色-->
<solid android:color="@color/colorPrimary"/>
贴下layout的代码,只是声明了一个Button而已。
<Button
android:id="@+id/actionbutton"
android:text="启动"
android:background="@drawable/btn_shape"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
主要属性就是在background属性中设置一个@drawable/btn_shape
这个属性就是将这个button的样式设置为btn_shape中的样式。
以上就是对Button简单的进行圆角,按钮颜色设置
2.按钮点击时会有效果改变的实现
点击效果实现,一共需要三个drawable文件:
- btn_normal :没有点击时的按钮样式
- btn_press :按钮按下时的按钮样式
- btn_selector:对于按钮普通状态,还是点击状态的选择
同样是在drawable文件夹下新建文件
btn_normal.xml的代码:
- 按钮的圆角
- 按钮的颜色
- 按钮的边框线条
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--对按钮进行圆角化-->
<corners android:radius="10dp"/>
<!--设置按钮背景颜色-->
<solid android:color="#31c3e4"/>
<!--stroke是按钮边框的线条-->
<stroke
android:width="1dp"
android:color="#000000"/>
</shape>
btn_press.xml的代码:
- 按钮的边框线条为虚线效果
- 背景颜色更深了
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--对按钮进行圆角化-->
<corners android:radius="10dp"/>
<!--设置按钮背景颜色-->
<solid android:color="#0aa4c7"/>
<!--stroke是按钮边框的实现,每段虚线的长度,和两段虚线之间的颜色和虚线颜色-->
<stroke
android:width="1dp"
<!--设置虚线的横线长度-->
android:dashWidth="8dp"
<!--设置虚线之间的距离-->
android:dashGap="4dp"
android:color="#000000"/>
</shape>
btn_selector.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--普通时候的样式-->
<item android:drawable="@drawable/btn_normal" android:state_pressed="false"></item>
<!--点击后的样式-->
<item android:drawable="@drawable/btn_press" android:state_pressed="true"/>
</selector>
<Button
android:id="@+id/actionbutton"
android:text="启动"
android:background="@drawable/btn_selector"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
主要属性就是在background属性中设置一个@drawable/btn_selector
加载这个按钮为btn_selector的属性