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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bigname22/article/details/52338336

最近在学习一下简单的控件,如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 是否选中。

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

---努力学习,天天向上---

展开阅读全文

没有更多推荐了,返回首页