Android根据Button状态(normal,focused,pressed)显示不同背景图片

Android中Button 有focused, selected, pressed 等不同状态,通过配置一个XML格式的 drawable "selector" 即可实现”在不同状态下显示不同背景图片“的功能。
1. 在res/drawable目录下添加一个xml文件,用来描述Button在不同状态下对应的不同图片。我这里给该xml文件命名为btn_background.xml
<?xml version="1.0" encoding="UTF-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:state_pressed="true"
android:drawable
="@drawable/btn_pressed"
/>
<!--pressed-->
<itemandroid:state_focused="true"
android:drawable
="@drawable/btn_normal"
/>
<!--focused-->
<itemandroid:drawable="@drawable/btn_normal"
/>
<!--default-->
</selector>

2. 在res/layout目录下,对应的layout xml文件中,将Button的android:background属性设置为btn_background即可。


<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation
="vertical"
android:layout_width
="fill_parent"
android:layout_height
="fill_parent"
>
<Button
android:layout_width="wrap_content"
android:layout_height
="wrap_content"
android:background
="@drawable/btn_background"
/>
</LinearLayout>


3.运行结果

默认状态(unselected)

点击状态(pressed)

更多相关文章

  1. CrossWalk - Android 动态加载so库文件
  2. Unexpected namespace prefix "xmlns" found for tag LinearLayo
  3. Android下使用TinyXml读取xml配置文件(Cocos2d-x游戏开发)
  4. Android创建文件夹
  5. android 数据库技术 | 文件系统,SDCARD访问,CONTENT PROVIDER,SQLIT
  6. Android studio 使用心得(六)---android studio 如何加载.so文件

随机推荐

  1. Android开发入门之路(续篇)
  2. Android图标尺寸的约定
  3. 自学android, java, html, css, php, mys
  4. Android集成支付----微信支付总结与封装
  5. Android(安卓)组件宽度高度自适应
  6. AsyncTask 和 Handler的优缺点
  7. Mac环境下Android(安卓)APK包反编译详解
  8. Android(安卓)APP如何防止二次打包揭秘。
  9. 学习Android(安卓)Studio开发工具之Activ
  10. Android(安卓)自定义日期控件 (仿QQ,IOS7