问题标签 [statelist]

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 回答
428 浏览

android - Android - 带有图像的自定义多击复选框

我想创建一个具有四种不同状态的自定义复选框:

  • 未选中(空复选框)
  • 已检查(绿色检查)
  • 不可用(红十字)
  • 部分不可用(橙色检查)

我确实在这里找到了如何使用自定义图像创建一个复选框(状态为按下、聚焦、悬停和默认)。但我想要的是一种在四种状态之间循环的方法,如下所示:

  1. 按一次:它是绿色选中的;
  2. 按两次:这是一个红十字;
  3. 三次价格:橙色格子;
  4. 按四次:再次取消选中。

PS:我知道在 android 应用程序中只使用 4 种状态进行下拉菜单或选择其中一种状态的弹出窗口可能更容易。但我想要在这两个中,上面的第三个选项,所以用户可以自己决定他们更喜欢这三个设置中的哪一个。

PSS:当我输入这个时,我想出了一个带有未选中图像的按钮的想法,当你点击它时,它会将 image-src 替换为下一个,同时保持其他所有内容相同(如宽度/高度和边距/填充)。这是解决这种情况的最佳方法,还是有人有更优雅的解决方案?

提前感谢您的回复。

0 投票
2 回答
1367 浏览

android - 如何使用毕加索更新选择器(StateListDrawable)图像

我想使用 picasso 从他们自己的 url 加载两个图像,并将它们用作 statelist,例如:

我怎样才能做到这一点?

更新

多亏了Maddy,我尝试了他的回答,现在我这样存货:

但它不起作用。

0 投票
2 回答
666 浏览

java - 颜色状态列表不适用于 recyclerview textview

我像这样设置了一个颜色状态列表:

然后我尝试在 xml 中为 recyclerview 项目设置它,如下所示:

但它不起作用 - 按下时颜色不会改变。所以我尝试在 onBindViewHolder 中以编程方式设置它,如下所示:

我也试过这样:

这也行不通。这里的错误在哪里,为什么这对 recyclerviews 不起作用?澄清 - 文本以初始颜色(白色)显示,但不会更改为按下的颜色。

编辑:还尝试通过使选择器成为可绘制来解决它 - 但它没有用:

如果我设置了一个 ontouchlistener 并手动切换颜色,那么它可以正常工作——但我想用一个 statelist 来做到这一点。

0 投票
2 回答
2211 浏览

android - 如何使用十六进制值更改 CheckedTextView 的选中色调颜色

我想CheckedTextView在视图状态为时动态更改 a 的色调颜色checked。我很确定我可以通过调用setCheckMarkTintList. CheckedTextView为此,我需要一个ColorStateList,但问题是我想保留 的每个状态的所有颜色,状态CheckedTextView除外checked

所以,我可以获得 的ColorStateListCheckedTextView但我不知道一种改变状态颜色的方法checked。我知道我可以创建一个新的ColorStateList,但我如何确保它保留原始的所有值?

我可以像这样创建一个状态列表:

并从原始颜色创建一个颜色列表ColorStateList

但这只会涵盖孤立状态...您也可以组合状态,例如new int[]{android.R.attr.state_enabled, android.R.attr.state_pressed, -android.R.attr.state_checked}. 试图解释每一个可能的状态是很荒谬的,所以我怎么可能知道原始状态ColorStateList设置了什么?有没有更简单的方法来做到这一点?我是不是想多了?

0 投票
2 回答
673 浏览

android - 当我将多个状态添加到在状态列表drawable中,它停止工作。为什么?

我想要的是:

具有透明背景的 ImageView。当它被点击时,它的背景应该变成蓝色,并且在点击其他东西之前应该保持蓝色。我正在为它使用可绘制的状态列表。

怎么了:

代码如下。问题是背景确实变成了蓝色,但它并没有保持蓝色。所以我认为这是因为它只代表了小部件点击android:state_pressed的那一刻。所以我也添加到了之后。然后发生的事情是即使单击图像视图,背景也会停止变android:state_selected="true"button_state_list_drawable.xmlandroid:state_pressed="true"

我该如何解决?

ImageView在 XML 中定义如下:

button_state_list_drawable.xml

button_pressed_state_drawable.xml

button_enabled_state_drawable.xml

0 投票
1 回答
38 浏览

android - 视图在被点击后(即点击被释放后)处于什么状态?

我有一个ImageView带有背景颜色的可点击对象,我想要的是当它被触摸/点击时它的背景颜色会发生变化,即使在点击被释放后它也应该保持变化,直到点击其他东西。为此,我正在编写一个state-list drawable

我正在使用pressed状态,即单击视图时的状态。我还想知道ImageView点击被释放后的状态是什么(直到点击了其他东西)。

我说的是这里给出的以下状态:

  • state_pressed
  • state_focused
  • state_hovered
  • state_selected
  • state_checkable
  • state_checked
  • state_enabled
  • 状态激活
  • state_window_focused
0 投票
4 回答
596 浏览

javascript - 将状态列表下拉 HTML 链接到特定页面

我在主页上添加了一个下拉状态列表,它使用 wordpress/elemntor。

当从下拉列表中选择一个项目时,我想将用户重定向到另一个 URL。For example, when Georgia is selected I would like to redirect to this URL: https://www.everlastingopportunities.com/georgia/

在下拉菜单中选择格鲁吉亚时,如何使页面转到上述 URL?