<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_enabled="false" android:drawable="默认图pic1" />
  <item android:state_pressed="false" android:drawable="图pic3" />
  <item android:state_pressed="true" android:drawable="图pic2" />
  <item android:state_focused="true" android:drawable="图pic1" />
  <item android:drawable="默认图pic1" />
</selector>以上代码试试由于pressed状态和默认状态可能会冲突,因此,根据你的情况,可能还需用单独的代码进行调整。

解决方案 »

  1.   

    感谢回复。
    上面的代码测试过了,依然是focused不生效(pressed生效)。
    “由于pressed状态和默认状态可能会冲突...”,从我的测试结果看来,本例应该没有出现冲突,默认是pic1,生效,press的时是pic2,也生效,关键就是focused(也换过selected)不生效。
      

  2.   

    在触摸模式下,Button是不会获取focused焦点状态的,一般只有EditText控件才会获取到focused焦点。
      

  3.   

    楼上+1可以在AVD中用有键盘的模拟器试试
    用方向键移动焦点
      

  4.   

    那么触摸模式下有没有其他办法实现类似效果吗(除了在click中硬编码)?
      

  5.   

    “在触摸模式下,Button是不会获取focused焦点状态的...”,比较怀疑这句,那么selected状态是不是也获取不到?这个设计是Bug还是google基于什么理由?
      

  6.   

    这个focus貌似是给键盘手机用的
      

  7.   

    使用其它控件来做,button只是按下时,才是获得焦点.
      

  8.   

    除了button之外,imagebutton,imageview也都试过,都不行。有什么其他控件可以代替button的?
      

  9.   

    去看看这篇博客吧:   http://blog.csdn.net/qinjuning/article/details/7474827
      

  10.   

    去给图片换个名字 或者xml从写一个 别复制 我遇到过类似的问题 换个名字就好了 挺奇怪
      

  11.   


    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false" android:state_checked="false" android:drawable="@drawable/button_normal" />
    <item android:state_checked="true" android:drawable="@drawable/button_pressed" />
    <item android:state_pressed="true" android:drawable="@drawable/button_pressed" />
    </selector>楼主button是用checked,不是focus
      

  12.   

    求demo,我的开发环境是android4.0,是触摸平板上的应用。
    如果方便的话请qq聊(40247496)
      

  13.   

    不好意思,可能是我看错了,一想到三个状态,就想到RadioButton这样的可以按下去的Button了。
    我这样觉得啊,Button按下后,是处于focus状态,手移开或者拿起来,Button弹起就是normal的状态了,我只觉得他应该只有2个状态吧。Button不像RadioButton这样的,按下后是pressed状态,松手后确认按下就是checked状态,弹起是normal状态。
      

  14.   


    或者说,有三个状态是在有鼠标的情况下,鼠标指上去,是focus,按下是pressed。。但是用手来点,我觉得应该是只有2个状态。。
      

  15.   

    多谢大家,特别是 lqgyt1 的热心。