我最近一直在研究Button,那么话多说,我们直接来上效果和代码

正常效果:


按下效果:


先在values目录创建color.xml文件,在里面加入以下自定义颜色(注意不是用color标签)的代码:

[html] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     <drawable name="red">#f00drawable>  
  4.     <drawable name="green">#0f0drawable>  
  5.     <drawable name="gray">#cccdrawable>  
  6. resources>  

然后在res下新建drawable目录,里面新建btn_bg.xml和btn_color.xml文件,代码如下:

btn_bg.xml

[html] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
  3.     <item android:state_window_focused="false" android:state_enabled="true"  
  4.         android:drawable="@drawable/btn_test_normal" />  
  5.     <item android:state_enabled="false" android:drawable="@drawable/btn_test_normal" />  
  6.     <item android:state_pressed="true" android:drawable="@drawable/btn_test_press" />  
  7.     <item android:state_focused="true"  android:drawable="@drawable/btn_test_normal" />  
  8. selector>  

btn_color.xml

[html] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
  3.     <item android:state_focused="false" android:state_enabled="true" android:state_pressed="false"  
  4.         android:color="@drawable/red" />  
  5.     <item android:state_enabled="false" android:color="@drawable/gray" />  
  6.     <item android:state_pressed="true" android:color="@drawable/green" />  
  7.     <item android:state_focused="true"  android:color="@drawable/red" />  
  8. selector>  
最后是测试用的布局文件:

[html] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     android:background="@android:color/white"  
  7.     >  
  8.       
  9.     <Button  
  10.         android:layout_width="wrap_content"  
  11.         android:layout_height="wrap_content"  
  12.         android:text="按下文字会变效果"  
  13.         android:textColor="@drawable/btn_color"  
  14.         android:background="@drawable/btn_bg"  
  15.         />  
  16.     <Button  
  17.         android:layout_width="wrap_content"  
  18.         android:layout_height="wrap_content"  
  19.         android:text="按钮被禁用"  
  20.         android:enabled="false"  
  21.         android:textColor="@drawable/btn_color"  
  22.         android:background="@drawable/btn_bg"  
  23.         />  
  24.       
  25. LinearLayout>  

更多相关文章

  1. Android(安卓)在init.rc启动一个c++程序
  2. Android多文件断点续传(二)——实现数据库储存下载信息
  3. Android(安卓)ActionBar的源代码分析(二)
  4. 安卓手机恶意代码——Samsapo
  5. Android(安卓)10.0后创建文件createNewFile()和创建文件夹mkdirs
  6. Android中从本地未安装的APK动态加载类和资源
  7. Android开发(46) 使用 textview实现文字的阴影效果,浮雕效果
  8. 01、泛型是什么?——《Android打怪升级之旅》
  9. NPM 和webpack 的基础使用

随机推荐

  1. 工作之后,越来越不想上班了。
  2. 熵!!!
  3. 38年后的今天,用数据回顾什么是女排精神?
  4. 学会透过现象看本质。
  5. 原创的20个Python自动化案例,一口一个,高效
  6. 裸辞之后,我心里发慌了!
  7. 入职系列|新入职一家公司如何快速熟悉工作
  8. 我用python破解了同事的加密压缩包!
  9. 天猫双11数据过于完美?我们用python来看看
  10. 说点掏心窝子的话。