当前位置: 首页 > 知识库问答 >
问题:

XML 选择器背景在 2.3 上不起作用

郑哲彦
2023-03-14

我有一个观点,我设置了一个选择器背景,应该达到触摸。它可以,但只在4.x上。在2.3上,它对触摸没有反应。有什么问题吗?布局如下:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:src="@drawable/idee_baden"
    android:scaleType="centerInside" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:background="@drawable/background_selector" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_margin="8dp"
        android:ellipsize="end"
        android:padding="4dp"
        android:singleLine="true"
        android:textAppearance="@style/SmallTextBold"
        android:textColor="#ffffff" />
</RelativeLayout>

这是background_selector.xml:

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

共有1个答案

罗安和
2023-03-14

这个功能从API 1开始就已经启用了——所以我不认为这与支持的OS级别有什么关系,而更多的是与选择器代码的格式不良有关。

我认为您的选择器格式不正确。我认为你的“物品”标签部分应该填写得更完整,你应该有更多的内容。

这是我使用的一个选择器(更完整,但仍然缺少一些关于对焦与按下的选项)。请记住,顺序很重要(这是从上到下评估的):

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/circle_button_on"
        android:state_focused="true"
        android:state_pressed="true"/>
    <item
        android:drawable="@drawable/circle_button_on"
        android:state_focused="false"
        android:state_pressed="true"/>
    <item
        android:drawable="@drawable/circle_button_off"
        android:state_focused="true"
        android:state_pressed="false"/>
    <item
        android:drawable="@drawable/circle_button_off"
        android:state_focused="false"
        android:state_pressed="false"/>
</selector>
 类似资料:
  • 我正在用Java制作一个游戏,目前背景设置不起作用,但前景设置可以工作。以下是我的主类代码: 下面是我的Screen类的代码:

  • 嗨,我想让我的线性布局像按钮一样工作。我的意思是,当状态改变时,我试图改变它的背景色。我使用选择器来解决它,但它不起作用。 我寻找解决方案,他们只说添加可点击属性。我已经做过了。 我的LinearLayout包含两个LinearLayout,每个LinearLayout包含9个文本视图。它们完全填满了我的直线布局。 我想到的是它的孩子正在吸收点击事件,我的线性布局不会将其状态更改为按下。 因此,我

  • 我试图使用PHP从我拥有的城镇列表中随机选择一个XML元素,但是每当我觉得我可能已经修复了它时,我都会得到同样的错误。 我对PHP相当陌生,已经克服了许多障碍,但这是一个我无法理解的障碍。 错误是: 致命错误:在/var/www/dev.weclarkwatchrepairs.co.uk/wordpress/wp-content/themes/watchrepairs-2016/index.php

  • Ths是我的服务班 }

  • 问题内容: 我需要在CSS中使用属性选择器来更改不同颜色和图像上的链接,但是它不起作用。 我有这个HTML: 而这个CSS: 为什么背景不是红色的? 问题答案: 在href后面使用$。这将使属性值匹配字符串的结尾。

  • 问题内容: 我在使用这个特定的CSS选择器时遇到了麻烦,当我添加它时,它不希望工作。似乎可以与其他选择器的任何组合正常工作: 如果我删除了该部件,它就可以正常工作。即使我将选择器更改为它,也不会选择输入了文本的输入字段。这是坏了还是我只是不允许在选择器中使用? 我唯一想到的是浏览器仍在说该元素为空,因为它没有子元素,每个元素只有一个“值”。选择器是否没有针对输入元素和常规元素的单独功能?但这似乎不