问题标签 [selector-drawable]
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 - 如何在android中以编程方式从颜色代码创建可绘制的选择器
我想#000000
为选中和#FFFFFF
未选中状态创建一个可绘制的选择器。
如何以编程方式创建可绘制对象?
目前我正在这样做:
android - 选择器内部的涟漪效应
当有人按下我的 ImageView 时,我想实现涟漪效果,但对于其他状态也有不同的可绘制对象。
我有一个非常简单的ImageView
:
我将我的背景添加到它:
我的drawable看起来像这样:
当我单击时,背景消失而不是显示波纹效果。其他州工作正常。知道我在这里做错了什么吗?
android - Android Selector Drawable 不适用于属性
我正在使用 attr 为我的项目创建一个可绘制的选择器,这样一旦我更改了主题颜色,我就不必对可绘制文件进行任何更改。我正在使用以下库:
这是drawable的源代码:
在相同的代码中,如果我用 colors.xml 文件中定义的颜色替换属性,则相同的可绘制作品。
带有颜色的可绘制示例:
提前致谢!
android - 使用物理鼠标单击时,可绘制选择器失去悬停状态
我为常规创建了一个自定义可绘制对象(基于可绘制选择器)Button
,我决定使用物理鼠标和键盘测试我的应用程序。
那时我注意到,每次我用物理鼠标单击按钮时,它都会在hovered
很短的时间内失去状态,并且仅在几毫秒后才恢复pressed
状态。
即使这种情况只发生很短的时间,它也会产生令人讨厌且非常明显的“眨眼”。
我不知道我是否说清楚了,所以我将重现这些步骤:
1 - 按钮处于空闲状态,并且鼠标指针不在按钮上方:按钮以默认状态呈现 ok
2 - 我将鼠标光标移到按钮上,然后鼠标不动:按钮呈现悬停状态
3 - 我按下鼠标左键:按钮以默认状态(未悬停)呈现片刻,然后以按下状态呈现,产生视觉闪烁
Button
通过用覆盖 drawableStateChanged()的自定义类替换按钮,可以轻松复制/验证这种奇怪的行为:
Logcat 显示:
我几乎尝试了一切:压倒一切onHoverChanged()
,setHovered()
等等...我什至尝试在isHovered()
内部调用drawableStateChanged()
以查看是否有区别...什么都没有!!!!在设置按下状态之前,Android 会主动将可绘制状态和hovered
属性更改为 false。那是故意的!
我在网上到处找,甚至在 SO。没有什么!好像还没有人注意到它,或者我一定忘记了一些非常简单的事情......
仅供参考:我没有使用任何库(如 AppCompat 等)。它是一个普通的按钮,放置在一个普通的 Activity 中。在三星 A5 2017(使用 USB 鼠标)和华硕 Chromebook Flip C100(使用触控板)上进行了测试。
仅供参考 2:实际样式为v21/styles.xml
:
仅供参考 3:我也尝试覆盖onGenericMotionEvent()
. 同样,只要我单击按钮 logcat 显示@@@ HEXIT
。此后不久,logcat 显示@@@ HENTER
...但我什至从未将鼠标光标移动一个像素...更不用说将其移到按钮之外!
我怎样才能摆脱这种行为?有谁知道禁用此闪烁的标志或技巧?
重要提示:我不想使用到目前为止我想出的唯一解决方法:创建私有标志来手动控制悬停状态,忽略 Android 的悬停状态并使用计时器/计划延迟/等。