<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="false" android:drawable="@drawable/bt_shape" ></item> <item android:state_pressed="true" android:drawable="@drawable/bt_shape_down" ></item> </selector>
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="false" android:drawable="@drawable/bt_shape" ></item> <item android:state_pressed="true" android:drawable="@drawable/bt_shape_down" ></item> </selector>
这里对Android组件的样式设置进行一下总结
首先需要在drawable文件夹下新建一个shape文件(新建一个xml文件并选择shape类型);如上面代码
代码中stroke表示的是边界的样式,corners表示的是顶角的弧度,还可以设置solid (内部填充)、padding(内边距)等效果。
shape文件完成后在layout文件中将想要设置的组件的background设置成该文件就行了。
不过,就如同设置背景色后点击组件将没有反应一样,这样设置后点击时组件的样式同样不会改变。为了区分点击与未点击的效果,可以通过设置selector文件来实现。
首先在shape文件的基础上需要再次新建一个shape文件,用来设置按钮被点击之后的效果。(方法与上面相同),接下来在drawable文件夹中新建一个selecto文件(如第一段代码)。
每一个item标签都用来设置该组件在某种状态下的样式(如state_pressed,false表示没有点击,true表示点击)。设置好后在layout文件中将组件的background属性设置为该文件就行了。