首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android旋钮背景颜色修改

2013-10-01 
android按钮背景颜色修改总的来说,现在的android的按钮改变都是在点击触发焦点时改变其背景颜色,当失去焦

android按钮背景颜色修改
总的来说,现在的android的按钮改变都是在点击触发焦点时改变其背景颜色,当失去焦点的时候变回原来的背景颜色,但是现在需求是,在点击按钮时,这个按钮始终为点击后的颜色,当点击另外的按钮或者别的按钮时,才变回原来的颜色,就是不能使用图片的
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:drawable="@drawable/bingrenyilan_click" /> <!-- pressed -->
     <item android:state_focused="true"
           android:drawable="@drawable/bingrenyilan" /> <!-- focused -->
     <item android:drawable="@drawable/bingrenyilan" /> <!-- default -->
 </selector>
因为这样只会实现前面失去焦点的背景颜色

现在解决的是在activity里面使用setBackgroundResource直接改背景颜色
btn_tizheng.setBackgroundResource(R.drawable.btn_tizheng_down);
btn_yizhu.setBackgroundResource(R.drawable.btn_yizhu);
btn_jiancha.setBackgroundResource(R.drawable.btn_jiancha);
btn_jianyan.setBackgroundResource(R.drawable.btn_jianyan);
btn_bingli.setBackgroundResource(R.drawable.btn_bingli);


请问有大神有更好的方法么,因为按钮超过100个的话,需要多写至少2000行以上代码
[解决办法]
你要在.xml文件里面加一个android:state_pressed="false"

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="false" android:drawable="@drawable/默认图片" />
   <item android:state_pressed="true"
   android:drawable="@drawable/bingrenyilan_click" /> <!-- pressed -->
   <item android:state_focused="true"
   android:drawable="@drawable/bingrenyilan" /> <!-- focused -->
   <item android:drawable="@drawable/默认图片" /> <!-- default -->
  </selector>

热点排行