本文来实现《Android 手机卫士--导航界面1的布局编写》中的图片选择器部分的代码。
本文地址:http://www.cnblogs.com/wuyudong/p/5944356.html,转载请注明出处。
这个可以参考官网提供的API文档 图片选择器编写 在选中和未选中的过程中,切换展示图片 http://wear.techbrood.com/guide/practices/screens_support.html
依次选择如下条目:AppResource--->Resource Types----->Drawable---->StateList
找到文档中相关的语法格式与示例代码:
selector放置的路径res/drawable/button.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" /> <!-- 选中按钮图片 -->
<item android:state_focused="true"
android:drawable="@drawable/button_focused" /> <!-- 按钮获取焦点图片 -->
<item android:state_hovered="true"
android:drawable="@drawable/button_focused" /> <!-- 平板电视,悬浮选中某个应用图片 -->
<item android:drawable="@drawable/button_normal" /> <!-- 默认图片-->
</selector>
上面的作用于下面的Button按钮
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@drawable/button" />
于是我们可以参考api文档的做法,写出下面的代码:
新建drawable/selector_next_btn_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 选中深绿色图片 -->
<item android:state_pressed="true" android:drawable="@drawable/function_greenbutton_pressed"></item> <!-- 浅绿色图片 -->
<item android:drawable="@drawable/function_greenbutton_normal"></item>
</selector>
接着添加Button控件布局代码:
<!-- 图片选择器,在选中和未选中的过程中,切换展示图片 -->
<Button
android:text="下一页"
android:background="@drawable/selector_next_btn_bg"
android:drawableRight="@drawable/next"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
效果如下:
运行项目后,点击“下一页”按钮后,确实颜色深浅发生变化