Android 主屏幕小部件中的 ImageButton

发布于 2024-09-09 06:57:30 字数 129 浏览 7 评论 0原文

我有一个带有图像按钮的主屏幕小部件。我让按钮以待处理的意图工作,但我似乎不知道如何在按下按钮时更改按钮图像。

我尝试使用选择器,它在我的小部件测试活动中有效,但在远程视图中无效。

如何在主屏幕小部件中实现此功能?

I have a homescreen widget with an imagebutton. I have the button working with a pending intent, but I can't seem to figure out how to change the button image when it is pressed.

I tried using a selector and it works in my widget test activity, but not in the remoteview.

How could I implement this functionality in the home screen widget?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦幻的味道 2024-09-16 06:57:30

您可以在远程视图中设置不同的图像。

remoteView.setInt(R.id.buttonimg, "setImageResource", R.drawable.button_on);

You can set a different Image within your remote view.

remoteView.setInt(R.id.buttonimg, "setImageResource", R.drawable.button_on);
鲜肉鲜肉永远不皱 2024-09-16 06:57:30

我能够通过将选择器移动到它自己的 XML 文件中并放入 res/drawable 中,然后引用该 xml 文件作为应用程序小部件的布局 xml 中的图像按钮的资源来使其工作。

buttonimg.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
 android:state_pressed="false"
 android:drawable="@drawable/button_off" />
<item
 android:state_pressed="true"
 android:drawable="@drawable/button_on" />
<item  
 android:drawable="@drawable/button_off" />
</selector>

widget_layout.xml

<ImageButton
android:id="@+id/buttonimg"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_x="0px"
android:layout_y="2px"
android:clickable="true"
android:src="@drawable/button"
>

但是,我现在遇到了不同的问题。选择器只允许我在按下时更改图像。释放时,图像变回>:-(

如何在按下时获得图像状态更改并保持该状态直到下次按下(如切换按钮)?

I was able to get it working by moving the selector inside it's own XML file and putting in res/drawable and then referencing that xml file as my resource for my imagebutton in the app-widget's layout xml.

buttonimg.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
 android:state_pressed="false"
 android:drawable="@drawable/button_off" />
<item
 android:state_pressed="true"
 android:drawable="@drawable/button_on" />
<item  
 android:drawable="@drawable/button_off" />
</selector>

widget_layout.xml

<ImageButton
android:id="@+id/buttonimg"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_x="0px"
android:layout_y="2px"
android:clickable="true"
android:src="@drawable/button"
>

I now have a different problem, however. The selector only allows me to change the image onPress. On release, the image changes back >:-(

How do I get the image state change on press and stay in that state until next press (like the ToggleButton)?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文