天天看点

Android自定义Button的“款式”

要想让你的button呈现出一种不一样的外观,一般会采取以下两种形式

采用selector里面加图片的方式

采用selector用shape进行代码控制的方式

对第一种方式而言,只需要注意好“状态对应的优先级的程度”就可以了,否则会导致所设置的item不起作用的情形

如下是简单的使用

可能你已经注意到了,item对应了四个不同的状态;

android:state_selected是选中

android:state_focused是获得焦点

android:state_pressed是点击

android:state_enabled是设置是否响应事件,指所有事件

根据这些状态同样可以设置button的selector效果。也可以设置selector改变button中的文字状态。

xml文件创建好了,下一步就是如何使用了。方法很简单,就是在button的xml文件中加上android:background=”@drawable/mybutton”就可以了

接下来是通过控制xml代码来实现对按钮的外观的改变,主要是通过shape的以下几个属性,

gradient//渐变

stroke;//描边

corner;//圆角

pading;//边距

下面一起看一个例子吧

下面是从网上找到的一些具体的解释信息,总结得很好

总结:

使用第一种方式,方便快捷。但是缺点就是在图片很多时就很有可能会导致出现OutOfMemoryError的错误,这样我们还得手动的修改所用到的图片的大小,还是比较繁琐的;而采用第二种方式就给我们带来了很大的灵活性,我们可以随心所欲的进行对按钮的外观的修改,而且相对而言,基本上不会出现第一种方式的内存危机。

继续阅读