Button的selector问题建了个Button测试selector,发现pressed生效,而focused不生效。下面是buttonXML codeB
Button的selector问题
建了个Button测试selector,发现pressed生效,而focused不生效。
下面是button
- XML code
<Button android:text="test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/selectorxml_test"></Button>
下面是selector,也就是上面指定的selectorxml_test
- XML code
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_focused="true" android:drawable="@drawable/pic2" /> <item android:state_pressed="true" android:drawable="@drawable/pic3" /> <item android:drawable="@drawable/pic1" /></selector>
具体表现为,默认图片是pic1,手按住button不放时,显示图片pic2,手移开后,显示图片pic1(正确应该显示pic3)。
另外我也参考过博文:
- HTML code
<a href="http://zhiweiofli.iteye.com/blog/1423670">也简单说说Button背景的Selector配置</a>
我的测试环境:android4.0,平板电脑。
敬乞求指教,不胜感激。
[解决办法]
<?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状态和默认状态可能会冲突,因此,根据你的情况,可能还需用单独的代码进行调整。
[解决办法]
在触摸模式下,Button是不会获取focused焦点状态的,一般只有EditText控件才会获取到focused焦点。
[解决办法]
楼上+1
可以在AVD中用有键盘的模拟器试试
用方向键移动焦点
[解决办法]
这个focus貌似是给键盘手机用的
[解决办法]
使用其它控件来做,button只是按下时,才是获得焦点.
[解决办法]
去给图片换个名字 或者xml从写一个 别复制 我遇到过类似的问题 换个名字就好了 挺奇怪
[解决办法]
- XML code
<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>
