@zhutoulwz
2015-04-03T15:25:21.000000Z
字数 1398
阅读 1563
android
当需要自定义控件的背景时,需要正确设置不同状态的背景,如下:
<?xml version="1.0" encoding="utf-8" ?><selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 默认时的背景图片 --><item android:drawable="@drawable/button_default" /><!-- 没有焦点时的背景图片 --><itemandroid:state_focused="false"android:drawable="@drawable/button_default" /><!-- 非触摸模式下获得焦点并单击时的背景图片 --><itemandroid:state_focused="true"android:state_pressed="true"android:drawable= "@drawable/button_pressed" /><!-- 触摸模式下单击时的背景图片 --><itemandroid:state_focused="false"android:state_pressed="true"android:drawable="@drawable/button_pressed" /><!--选中时的图片背景 --><itemandroid:state_selected="true"android:drawable="@drawable/button_selected" /><!--获得焦点时的图片背景 --><itemandroid:state_focused="true"android:drawable="@drawable/button_selected" /></selector>
这个比较复杂,简单版的:
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 默认时的背景图片 --><item android:drawable="@drawable/button_default" /><itemandroid:state_pressed="true"android:drawable="@drawable/button_pressed" /><itemandroid:state_pressed="false"android:drawable="@drawable/button_default" /></selector>
使用这两个工具来优化UI
根据ARGB来设置,设置alpha为00为完全透明,e0为半透明,ff为完全不透明,修改这个值可以改变透明度,值越小,越透明。
<resource><color name="half_transparent_color">#e0000000</color> 半透明<color name="full_transparent_color">#00000000</color> 全透明<color name="not_transparent_color">#ff000000</color> 完全不透明</resource>