当我的自定义小部件有焦点时如何指定不同的图像?

Posted

技术标签:

【中文标题】当我的自定义小部件有焦点时如何指定不同的图像?【英文标题】:How to specify different images when my custom widget has focus? 【发布时间】:2010-10-07 19:20:25 【问题描述】:

我正在尝试在我的资产文件中设置一个可绘制的选择器,如下所示: * 休息模式下“开”/“关”模式的 2 个不同图像(即它确实 没有焦点) * 对焦模式下“开”/“关”模式的另外 2 张不同图像(即 它有焦点)。

就我而言,“休息”模式有效,但“专注”模式无效。

你能告诉我在焦点模式中我缺少什么吗?谢谢。

<!-- these 2 images works --->
<item android:state_checked="false" android:drawable="@drawable/off" />
<item android:state_checked="true" android:drawable="@drawable/on" />


<!-- these 2 images does not work -->

 <item android:state_focused="true" android:state_checked="false"
android:drawable="@drawable/off_focus" />

 <item android:state_focused="true" android:state_checked="true"
android:drawable="@drawable/on_focus" />

【问题讨论】:

你为什么不接受下面的答案,因为它是正确的? 【参考方案1】:

我不相信 ImageView 的实例默认情况下是可聚焦的,这意味着它们永远不会获得焦点,您的选择器也永远不会被触发。在您定义 ImageView 的地方,您需要将其设置为可聚焦,请参阅以下方法:setFocusable 和 setFocusableInTouchMode。它可以从 XML 或代码中设置。

【讨论】:

以上是关于当我的自定义小部件有焦点时如何指定不同的图像?的主要内容,如果未能解决你的问题,请参考以下文章

带有媒体上传按钮的自定义Wordpress窗口小部件,在每个窗口小部件上插入相同的图像

如何在wordpress中使用自定义小部件

如何在我的自定义小部件模板中包含内置的 django 小部件模板?

***Error 是由我的自定义底页小部件引发的

如何拖放自定义小部件?

如何启动在与小部件不同的包中定义的活动?