问题标签 [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.
android - 参数化 XML 可绘制对象
我想创建一系列按钮。它们看起来都一样,除了颜色。这样做的蛮力方法是将布局复制/粘贴到 N 个文件中,然后更改每个文件中的颜色。
实现这一目标的更优雅的方法是什么?在下面的示例代码中,我想使用不同的颜色而不是@color/round_green_button_pressed_background
and @color/round_green_button_unpressed_background
,但理想情况下,其他所有内容都应该放在一个地方。
以编程方式执行此操作似乎比复制/粘贴文件更糟糕,因此希望有一个涉及纯基于 XML 的布局的答案。
示例代码:button_green.xml
.
android - 您可以在不覆盖切换按钮的情况下在切换按钮上设置背景颜色吗?
我有一个切换按钮。我希望背景清晰,就像在一周中的默认警报应用程序中一样。下面的代码用清晰的颜色覆盖了切换。有没有办法在不滚动我自己的切换按钮的情况下保持切换和更改背景颜色?如果不是,那整个过程会很糟糕,imo。另外,我真的必须在这里定义一个清晰的颜色,还是我可以在我的 xml 中使用内置的清晰颜色?
这是我的colors.xml
这是drawable
文件夹中我的颜色状态列表 xml。
android - Android StateListDrawable 按下状态总是显示最后添加
我有一个自定义按钮,并通过编程更改其按下和默认颜色。
}
然后,将此按钮添加到我的活动中,其中有一个 Linearlayout。
}
我的问题是所有 3 个按钮都有不同的默认笔触颜色,但按下的笔触颜色总是最后添加的按钮颜色。
总结一下;
两张图一千多字:)
android - 从状态列表drawable中获取特定的drawable
我有一个可绘制的状态列表,我想从可绘制的状态列表中获取特定的可绘制:
我为每个键选择正确的可绘制状态,如下所示:
现在状态定义如下:
现在我的问题是如何为每个状态提取正确的可绘制对象?我需要获取drawable的9patch填充,因为如果状态在9patch上有不同的填充,它将仅获得顶部drawable的填充,并且我想为每个键手动设置填充(drawable.getPadding(rect)) .
android - 根据输入以编程方式设置可绘制状态
我有自定义可绘制对象来代替按钮。例如,camButton
打开本机相机以便用户拍照。
camButton
提供了资源,因此可绘制对象可以是白色或绿色。这是camButton
应该如何表现:
1) 默认的无输入状态为白色。
2) 提供输入的状态为绿色。即如果用户已经成功拍摄了一张照片并且没有删除它,那么drawable 是绿色的来表示这一点。
3)当按钮为白色时按下按钮应将其变为绿色,直到用户释放按钮。
4)当它是绿色时按下按钮什么也不做。
下面是一个selector
测试类似的东西。但是这个选择器只在按下按钮时改变按钮的颜色。它解决了上面的#1 和#3,但不是#2 或#4。
cam_selector.xml
:
这就是选择器在我的主布局中的实现方式:
在我的应用程序中,我测试是否有使用布尔值提供的输入。
问题:如何根据代码中的布尔值(或其他方式)设置camButton
to的状态?@drawable/cam_pressed
如果我不清楚,或者您需要更多信息,请告诉我。任何建议表示赞赏。谢谢!
android - 如何在运行时使用 StateListDrawable?
我对某些代码有疑问。我想创建一个 ColorPicker DialogFragment
。目前我使用 aGridView
和 customBaseAdapter
来显示一些颜色形状。对于每种颜色,我使用一个 round ShapeDrawable
。要设置默认状态的颜色,我使用以下代码:
我的“ColorAdapter”的getView()
这对我来说很好。
但是我想在按下图标时更改图标的颜色。所以我使用一个StateListDrawable
.
但是,因为我对 中的每个条目都有不同的颜色,所以我必须GridView
在运行时更改状态的颜色。
如您所见,我对两种状态都使用相同的可绘制资源。也许我可以设置一种状态的颜色,就像我做的那样states.getCurrent()
?
我还尝试使用 aColorFilter
来降低亮度级别。但是当我尝试这样做时,ImageView
它总是黑色的,当它被按下时。
有人知道该怎么做吗?
android - Android:如何根据另一个视图的状态更新一个视图的状态
我正面临这个问题,解决方案可能只是一个简单的问题,但我的尝试没有成功。
我有一个父视图容器,其中包含三个子视图,它们声明了 onClick 事件处理程序并执行不同的操作。
我想要做的是向其中的每一个添加状态列表可绘制对象,以便对于不同的状态,子视图的颜色会发生变化。
大致是这样的——
Child View 3 有它自己的 statelist 并且独立工作,我有我需要的东西。
但是,我想要的是子视图 1 和 2 的状态应该同时改变,当它们在单击时执行独立操作时任何一个的状态发生变化。所以基本上,如果我按下(按下状态)子视图 1,它可能会改变它的颜色,同样的情况也应该发生在 2 上,反之亦然。在此期间,子视图 3 应该不受影响。
我尝试了多种方法来解决 statelist drawables 但没有成功。谁能帮我解决这个问题?
我相信在 Android 中应该有一些优雅的方式来处理这个问题。
谢谢!
android - 更改 RippleDrawable 内 StateListDrawable 的 TintList
范围
RippleDrawableselector
在item
里面。有用。
+
问题
无法更改选择器的默认状态颜色DrawableCompat.setTintList
它不会改变默认选择器的状态,其他一切正常。
解决方案
问题发生是因为 - 对着色应该如何工作的误解;-ColorStateList
最好满载;
+
android - 为启用和禁用状态动态创建可绘制的选择器
我想为按钮动态创建选择器。当按钮被禁用(setEnable(false)
)时,它的颜色应该改变。
java - 如何修改/调整 API 库中的方法?
我正在使用Big Nerd Ranch 的 recyclerview-multiselect库来提供我RecyclerView
的CardViews
多选功能。我已经解决了大部分应用程序特定的问题,但我遇到了一个相当大的问题。每当RecyclerView
它进入SelectionMode
并且必须重新创建一张卡片时(这通常是因为这实际上是RecyclerView
,至少如果我理解正确的话)它会抛出这个错误:
从逻辑上讲,我将错误跟踪到导致 StateListDrawable 设置为CardView
背景的任何来源。我的发现是在这个类的一个评论部分总结的。内容如下:
selectionModeBackgroundDrawable 默认为 StateListDrawable,当 state_activated=true 时显示您的 colorAccent 主题颜色,否则不显示。
在SwappingHolder
类中,您可以看到StateListDrawable
导致错误的 . 被返回的位置。此外,如果您CardViewEclairMr1.java
按照错误中的建议查看 ,您可以看到最直接导致错误的方法:
老实说,在BigNerdRanch 库中窥探了这么多之后,我仍然不知道该怎么办!我在想我可能需要引入@Override
一个StateListDrawable
. 如何修复此错误?