在一个GridView里面有一堆按钮,按方向键按钮就会变色,这是什么原理啊我发现我自定义按钮就没这个效果了,该如何设置
我的自定义按钮,onTouch监听,根据Event设置图片

解决方案 »

  1.   

    按方向键按钮就会变色,就是此时这个按钮获得了焦点。而在获得焦点时,按钮的背景改变。应该是按钮的状态设置为setFocusable(true),然后编写一个selector的xml文件,类似如下:
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_selected="true" android:drawable="@drawable/pic1" />
        <item android:state_focused="true" android:drawable="@drawable/pic1" />
        <item android:state_pressed="true" android:drawable="@drawable/pic1" />
        <item android:color="#000" />
    </selector>
    这样在按钮处于不同状态时,按钮的背景就会发生变化。
    这只是一个大概的思路,你可以尝试一下,希望对你有所帮助。
      

  2.   

    顶楼上的,就是包装在xml里,然后图片设置成这个xml文件
      

  3.   

    2楼是对的。如果程序控制的话,应该是类似onFocuse或onSelected一类的事件,细节我记不太清楚。