问题标签 [android-selector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8750 浏览

android - 以编程方式将特定颜色设置为 ColorStateList

我从我的问题Add Color "#e3bb87" to StateListDrawable programmatically创建了 StateListDrawable ,但是 TextView.setTextColor 不采用 StateListDrawable (奇怪它在布局中起作用)而是 ColorStateList 。我读了这个更改 statelistdrawable 文本颜色的 android 按钮

在 ColorStateList 的构造函数中,它只接受 int 的数组

颜色没有在 colors.xml 中定义,因为我下载了这个颜色属性。我怎么能这样定义?

0 投票
3 回答
1492 浏览

android - Imagebutton 慢转为按下状态

我有一个 ImageButton 并且我已经为它制作了一个选择器,所以当我按下 imagebutton 时,会显示另一个图像。但是当按下图像按钮时,似乎必须等待 1 秒才能更改图像。这对用户体验真的不好。。

有没有可能解决这个问题?我已经查找了一些答案,但我现在不知道在哪里更改它。

这是我的代码

选择器:

布局文件

0 投票
1 回答
366 浏览

android - Android 2.3 - 如果没有在主要活动中使用,选择器的 src 将无法与 ImageView 一起使用

我有一个简单的 ImageButton 选择器放在非主要活动上:

如果我在主要活动中使用它,它也可以在第二个活动中使用。但如果没有,第二个活动上的 ImageButton 将在 Android 2.3 上消失(适用于更高版本)。我该如何解决?设置@drawable/image(不是选择器)可以正常工作,尽管它在主要活动中使用。问题在于选择器。

0 投票
1 回答
2301 浏览

android - GridView 项目选择器选中状态未出现

我有GridView一堆使用自定义适配器填充的项目。网格视图CHOICE_MODE_MULTIPLE_MODAL在 java 中设置为,我可以使用上下文操作栏选择内容(所有这些都很好)。

我希望网格项目在按下时突出显示,并在选择时具有不同的突出显示(正是您将在 ICS 的图库应用程序中看到的行为)。

我有一个在网格视图 XML 中指定的选择器,如下所示listSelector="@drawable/grid_item_selector":我也指定了android:drawSelectorOnTop="true"。这是选择器 XML:

按下状态完美运行。但是,选中/选中状态永远不会出现。

即使我在我的 java 代码中设置了要检查的项目,检查状态也永远不会出现。

我无法将选择器设置为网格项目本身的背景,因为我需要将选定的可绘制状态作为前景,而不是背景。

0 投票
1 回答
1256 浏览

android - 单击更改 TextView 的文本颜色

我已经阅读了很多这样的问题,并尝试了所有建议,但是当我点击文本视图上方时,颜色仍然没有改变。

还尝试使用onClick方法,将视图转换为TextView并调用方法setTextColor,也没有奏效。

这是我最后一次尝试:

XML 布局文件:

这是我在颜色文件夹中的 selector_txt XML 文件:

哪里有问题?

0 投票
1 回答
566 浏览

java - 仅更改 ImageButton 背景的一种状态(默认状态)

我想更改图像按钮的背景。基本上,我拥有的图像在透明背景上看起来很棒,而当它们中的一堆都具有非透明背景时有点糟糕。

这应该很容易 - 只需android:background将按钮上的按钮更改为透明颜色(通过可绘制):click_background.xml

然后按钮

问题是我实际上想保留背景的state_focussedstate_pressed版本(我认为它是从主题派生的)。我希望在按下或选择按钮时出现背景(并以完全相同的颜色/可绘制显示),当按下按钮时主题通常会使用该背景会很有帮助。

我想知道是否有办法执行以下操作之一,但到目前为止都找不到任何内容:

  1. 定义一个选择器,它在某些方面从另一个继承(类似于主题可以从另一个继承的方式)。

  2. 创建一个全新的选择器,但让它的 XML 引用主题的颜色/可绘制 对象state_focussedstate_pressed用于图像按钮。编辑:看起来这个选项已经失效了。我需要属性,但您不能从可绘制对象中引用它们。看这里

如果可能的话,我想在声明式 XML 而不是程序化 Java 中执行此操作。

0 投票
3 回答
3554 浏览

android - 无法将自定义选择器添加到 ListView

所以,我有一个ListFragment带有自定义布局的自定义布局,它有一个CursorAdapter将自定义视图传递给ListView. 其ListView选择模式设置为MultiChoiceModal。但是,无论我是在正常模式下选择一个项目还是在操作模式下选择几个项目,所选项目都不会突出显示。为了解决这个问题,我尝试了一个选择器。

但是,将其应用于ListView列表List Selector只会导致应用程序崩溃,并且当我尝试运行它时会出现此错误:

它还会导致 Eclipse 抱怨:

在将选择器应用于自定义视图的根布局(特别是作为背景)时,我从 Eclipse 得到了同样的抱怨,所以逻辑表明我会得到类似的错误。有什么我做错了吗?

编辑:嗯,多亏了 vArDo,没有更多的崩溃。但是选择器实际上并没有做任何事情。这是列表项布局的 xml,对于那些可能可以看到如何真正开始工作的人:

0 投票
2 回答
12011 浏览

android - 与“最小宽度 600 dp”选择器混淆

在我的应用程序中,我支持手机/平板电脑的外形尺寸并拥有单独的布局,我使用选择器“layout”(用于手机)、“layout-sw600dp”(用于平板电脑)。

以下是详细信息:

http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html

我有一个 Nexus 4 手机,以下是它的属性

当我在 dp 计算公式中使用 768 px 时,dp 值为 386,但当我通过 1280 px 时,dp 值为 644。

有了以下理解,我认为 Nexus 4 景观会从 sw600dp 读取布局,但事实并非如此。

由于分辨率为宽 X 高,旋转设备时会反转。

我认为这是 sw 选择器与 3.2 之前的大型、xlarge 扇区相比的即兴创作。

0 投票
1 回答
323 浏览

android - 如果包含在选择器背景中的图像发生变化,Android有什么方法可以重用按钮选择器?

我在每个按钮的图层列表中使用相同的背景形状,然后在该图层列表中使用与该按钮的功能相关的特定图像。

我知道我可以为每个按钮创建一个选择器,但是有没有办法重用选择器并动态更改每个按钮的图像(正常、聚焦和按下都使用相同的图像)?

即使没有办法重用选择器,有没有其他好的重用方法,而不是为每个按钮创建 3 个单独的图层列表可绘制对象和一个选择器?

干杯

编辑:每个按钮都有一个文本组件

0 投票
3 回答
2835 浏览

android - Custom view (button) background selector doesn't work

I have simple custom button:

with selector

set by

Background in "normal" state is fine. But other states don't work at all. What is strange - when I change

to

selector works perfectly fine.

Any ideas?

Edit: I added commonConstructorCode().