您的位置:首页 > 移动开发 > Android开发

Android自定义按钮样式

2018-03-13 23:27 387 查看
安卓系统自带的按钮样式很不好看,满足不了感官需求,如何自定义一个自己需要的按钮样式呢?
分三步来介绍:
1.自定义按钮背景样式,在res/drawable/目录下新建bg_btn.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<!--实现的效果:
按下按钮,边框与背景深色,字体白色
没有按下按钮,边框与字体深色,背景浅色-->
<!-- 表示被选中后的按钮样式-->
<item  android:state_pressed="true">
<shape>
<!-- 表示边框-->
<stroke
android:color="#99004d"
android:width="0.8dp"/>
<!-- 表示圆角弧度-->
<corners android:radius="15dp"/>
<!-- 表示内部填充色-->
<solid android:color="#99004d"/>
</shape>
</item>

<!-- 表示没被选中后的按钮样式-->
<item android:state_pressed="false">
<shape>
<stroke
android:color="#99004d"
android:width="0.8dp"/>
<corners android:radius="15dp"/>
<solid android:color="#f0dfee"/>
</shape>
</item>

</selector>
上述代码说明,在<selector>中有两个<item>,分别代表按钮按下去,按钮没有按下去两种状态。
shape下有三个属性,stroke(边框):可以配置边框颜色与宽度。
                                        corners(圆角弧度):上述代码中四个角度一样,当然也可以配置不同的角度。
                                        solid(填充颜色):组件内部的填充颜色。

2.自定义按钮字体颜色,在res/drawable/目录下新建color_selector.xml文件。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--表示按钮按下与不按下时候字体颜色的不同-->
<item android:color="#ffffff" android:state_pressed="true"></item>

<item android:color="#99004d"></item>

</selector>
按钮按下去,不按下去时,按钮中字体的不同颜色。
3.在Button组件中用到上述的两个xml文件。
<Button
android:background="@drawable/bg_btn"
android:textColor="@drawable/color_selector"
android:fontFamily="sans-serif"
android:layout_marginTop="10dp"
android:textSize="18sp"
android:text="自定义样式"
android:id="@+id/btn_2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
在android:background 中用到第一步中的样式配置文件。
在android:textColor中用到第二部中的颜色配置文件。
finish!转载请说明,并附上本文链接,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息