要想让你的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的错误,这样我们还得手动的修改所用到的图片的大小,还是比较繁琐的;而采用第二种方式就给我们带来了很大的灵活性,我们可以随心所欲的进行对按钮的外观的修改,而且相对而言,基本上不会出现第一种方式的内存危机。