问题标签 [statelistdrawable]

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 投票
1 回答
2034 浏览

android - 带有 State List Drawable 的复选框占用的空间超过了图形所需的空间

我有一个带有可绘制状态列表的复选框和我自己的图形(用于游戏)。内置的复选框图形显然是 72x72,而我的图形是 72 高,但只有 27 宽。

我的 main.xml 布局的片段:

这是我的 console_select_switch.xml:

现在,当我运行程序时,我的图形确实出现了,而且它们确实有效,但它们占用的宽度与原始的 72 像素正方形图形一样多。我什至尝试过设置

在选择器项语句中,同样无效。我什至尝试将 constantSize 设置为“false”,但这没有任何效果。

我不清楚我到底做错了什么——我的理解是 wrap_content 应该使它“尽可能宽”,所以我认为它会起作用。有趣的是,当我在常规按钮中使用一些与 android:background 相同的图形时,它可以正常工作。

编辑:我的项目的 API 级别设置为 7(Android 2.1),如果这有任何相关性(查看文档,我认为我使用的所有东西都已经存在很长时间了,所以我怀疑它)。

编辑:我只是在此控件上设置文本(我尝试了各种值,包括 android:text 参数的空字符串)并且文本绘制到复选框正在消耗的区域的右侧(不是实际占用的区域由图形)。很明显,有些东西认为这个复选框是 72 像素宽,而实际上它是 27 像素。

0 投票
12 回答
54572 浏览

android - 错误 :标签需要一个“可绘制”属性或定义可绘制的子标签

item_bg_selector.xml我在可绘制文件夹中创建了一个状态列表选择器文件,如下所示:

然后我定义一个样式元素

然后我尝试创建一个ImageButton这样的:

Event DetailsEclipse 在窗口中不断给我以下错误:

异常跟踪如下:

现在,问题是错误在哪里?可绘制对象存在于文件夹中。标签具有可绘制属性。我已经交叉检查了将近 15 次,但仍然无法找到问题所在。我相信这是一个非常简单的问题(如果有的话)。任何解决此问题的工作也值得赞赏。

补充:此外,第 16 行item_bg_selector.xml对应于我发布的文件中从顶部算起的第三行。那是

0 投票
3 回答
6074 浏览

android - Shape Drawable 中无法识别颜色状态列表

我定义了以下可绘制对象my_background_drawable.xml

我还定义了以下颜色状态列表资源color_stateful.xml

当我将给定设置my_background_drawable为某个视图的背景时,我无法观察到color_stateful.xml为我的形状定义的颜色的任何变化,而视图状态实际上发生了变化(selector_png_drawable.xml是一个指示器)。

my_background_drawable.xml但是,当我以以下方式修改我的时,一切都很好:

ColorStateList那么,当在 a 中使用资源时,颜色状态信息是否真的丢失了,ShapeDrawable或者我做错了?

0 投票
2 回答
906 浏览

android - 按钮始终以状态列表可绘制中的第一个列出的样式显示,无论其状态如何

长时间的stackoverflow阅读器,第一次提出问题。我遇到的问题似乎很愚蠢,但我找不到任何解释它的信息。

我是 Android 编程新手,正在开发一个具有自定义按钮背景的项目。我正在为不同的按钮使用状态列表可绘制对象,如下所示:

在声明按钮的 xml 中,我只是添加了android:background="@drawable/button_drawable"button_drawable.xml 是状态列表可绘制的行。

看起来很简单,但在所有情况下,<item>无论其状态如何,按钮都会显示状态列表可绘制的第一部分中列出的背景。实际上,在上面的示例中,我可以将第一<item>部分更改为包含android:state_pressed="false",并且button_pressed_background仍然显示!就好像所有按钮状态同时为真和假。

我正在使用模拟器进行开发,但是在使用 AVD 模拟器和在 Oracle VirtualBox 上运行的 Android x86 时都可以看到这种行为。知道为什么会发生这种情况吗?

0 投票
1 回答
4159 浏览

android - 自定义通知视图

我想创建一个类似于 Google+ 应用通知的通知图标视图。不同之处在于我需要能够在运行时更改颜色,因为 Google+ 图标为灰色或红色,所以我假设它们使用的是 StateListDrawable。

最好的方法是什么?我更喜欢有圆角的剪裁角,并可以选择在里面有一个可绘制的。此自定义视图也将放置在操作栏中。我仍然需要视图来响应 android:background state list drawables,这样我就可以点击并选择相应的工作。

此自定义视图也将放置在操作栏中。

右上角有通知图标的 Google+ 应用程序显示为灰色,中间有一个 0。

0 投票
2 回答
1339 浏览

android - state_checkable 不适用于扩展 checkable 的视图

我有一个可绘制状态列表选择器,在选择时需要显示不同的可绘制对象。

我扩展了使用可绘制接口的 View 类,Checkable这可以正常工作。

但是,当我只过滤时state_checkable,它会显示值为 false 的图像。我认为这意味着我的实现有问题。

您如何获得state_checkablestate_checked正常工作?

0 投票
2 回答
6727 浏览

android - 如何为线性布局设置两种不同的背景

我有一个线性布局,并且上面实现了一个 onClickListener。现在我希望当它被点击时,它的背景颜色变为白色并保持这种状态,直到点击其他东西。单击其他内容时,我希望它具有透明背景如何实现?提前致谢

0 投票
0 回答
215 浏览

android - 冰淇淋三明治中的 StateListDrawable

我正在尝试为 textview 的背景设置 StateList 可绘制对象(作为键盘的键预览弹出窗口)。当用户按下按键时,如果按键有弹出字符,则 drawable 的状态设置为 long_pressable。

在运行 2.3.4 的 Droid Incredible 上进行测试时,代码按预期运行。但是,在 Galaxy Nexus 上运行代码时,状态不会改变,直到我从一个键移动到下一个键。

为了尝试找到问题的根源,我将键的背景设置为我的 TextView 背景的可绘制对象(statelistdrawable)。正如预期的那样,状态不会在 ICS 的按键上正确设置,但在 Gingerbread 上确实有效。

有任何想法吗?

(顺便说一下,TextView 显示在一个 PopupWindow 中)

谢谢

0 投票
1 回答
275 浏览

android - 没有透明度的 Android 图库未选择项目

是否可以让画廊中的所有项目都是“实心”而不透明?我尝试过使用 StateListDrawable,但它仍然为未选中的项目提供了透明度。

0 投票
2 回答
945 浏览

android - Android默认切换按钮显示通过

我正在创建一个自定义切换按钮。即使我创建了一个自定义图像,默认的切换按钮图形仍然显示出来(下图)。我创建了一个选择器并使用该android:background属性引用它。

选择器看起来像:

http://i41.tinypic.com/sgpugj.png@drawable/playoff在哪里。但是,当切换按钮关闭时,它看起来像http://i42.tinypic.com/2irap9x.png。如您所见,“关闭”消息是“重影”,就好像它仍想使用默认切换按钮一样。任何有关删除此问题的帮助将不胜感激。