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

android自定义Button样式(清晰简单)

2016-08-28 00:52 375 查看
最近在学习一下简单的控件,如Button,TextView等...但系统提供的样式大多都满足不了,所以我们需要自己来自定义样式来满足自己的需求。

下面跟大家分享一下最近学到的一种自定义方式,以下用Button按钮来做例子:

步骤1:

在res/drawable文件夹下创建文件xml文件,

步骤2:

在步骤1中创建的文件中写入自定义样式的代码:

代码:

文件名:my_style.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false"><span style="white-space:pre">	</span>//设置当状态为未点击时的样式
<shape> <span style="white-space:pre">				</span>//在shaoe内编写自定义的样式
<solid android:color="#0F0"/>       //填充的颜色
<corners android:radius="20dp"></corners><span style="white-space:pre">	</span>//边角弧度
<stroke android:color="#FFF" android:width="10dp"/>  //边框设置 color:边框颜色 , width:边框厚度
</shape>
</item>
<item android:state_pressed="true">         //同理,该处是设置点击状态时的样式
<shape>
<solid android:color="#ABCABA"/>
<corners android:radius="250dp"></corners>
<stroke android:color="#000" android:width="10dp"/>
</shape>
</item>

</selector>

步骤3:

在需要该样式的Button中设置背景为my_style.xml

android:background="@drawable/my_style"
这就搞定啦!附上效果图:
点击前:



点击后:



最后补充点知识:

<Item android:state_pressed = "?">这是是否点击的状态

还有其他的状态可以判断出了,如:

state_foucsed 是否获得焦点(注意控件中要设置属性,android:focusable = "true" // 可获得焦点)

state_selected 是否选中。

那其他的控件也可根据状态的不同来设置不同的样式了。

---努力学习,天天向上---
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息