【问题标题】:Image button focus isn't working图像按钮焦点不起作用
【发布时间】:2011-10-10 15:18:55
【问题描述】:

我是 Android 的新手,我一直在尝试制作一个带有 3 张图片的图片按钮,默认、聚焦和按下。 我已经尝试了很多我找到的示例,但我似乎无法让按钮响应焦点。

我在这个论坛上找到了以下示例,它显示按钮,并响应被按下,但焦点没有改变。 谁能告诉我为什么?

【问题讨论】:

标签: android android-emulator android-widget


【解决方案1】:

您是否使用选择器来更改按钮后面的可绘制对象?例如,您是否使用了android:src="@drawable/selector1。您的按钮的选择器代码应如下所示(更多描述 here):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/but1_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/but1_focused" />

    <item android:drawable="@drawable/but1_default" />

</selector>

【讨论】:

  • 我在这里尝试了所有 cmets 的版本,按钮出现,并响应点击 - 它只是焦点没有改变。我缺少一些设置吗?谢谢
  • 也许按钮无法以某种方式获得焦点?尝试在 xml 中添加按钮布局:android:focusable="true"android:focusableInTouchMode="true"。您也可以尝试从 java 代码中调用 Button.requestFocus() 来测试焦点功能。
【解决方案2】:

1.在res中新建一个名为color的文件夹

2. 创建一个像 button.xml 这样的 .xml 文件,所以它应该看起来像 res/color/button.xml

3.在.xml中写这个

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@drawable/button_pressed"/> <!-- pressed -->
    <item android:state_focused="true"
          android:drawable="@drawable/button_focused"/> <!-- focused -->
    <item android:drawable="@drawable/button_default"/> <!-- default -->
</selector>

4.在布局中设置背景为@color/button.xml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 2018-09-27
    • 2016-07-07
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多