@zhutoulwz
2015-04-03T23:25:21.000000Z
字数 1398
阅读 1411
android
当需要自定义控件的背景时,需要正确设置不同状态的背景,如下:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片 -->
<item android:drawable="@drawable/button_default" />
<!-- 没有焦点时的背景图片 -->
<item
android:state_focused="false"
android:drawable="@drawable/button_default" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable= "@drawable/button_pressed" />
<!-- 触摸模式下单击时的背景图片 -->
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/button_pressed" />
<!--选中时的图片背景 -->
<item
android:state_selected="true"
android:drawable="@drawable/button_selected" />
<!--获得焦点时的图片背景 -->
<item
android: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" />
<item
android:state_pressed="true"
android:drawable="@drawable/button_pressed" />
<item
android: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>