Android中的ImageButton主屏幕小部件

问题描述:

我有一个带有图像按钮的主屏幕小部件。我有一个按钮正在处理一个待处理的意图,但我似乎无法弄清楚如何在按下按钮时更改按钮图像。Android中的ImageButton主屏幕小部件

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

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

+0

嗨乔希, 你获得此按下状态留FINF办法? 感谢 – nirs 2011-06-05 21:01:02

我能够通过移动它自己的XML文件中的选择器并放入res/drawable,然后将该xml文件作为我的资源用于app-widget的布局xml中的imagebutton来获得它的工作。

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" 
> 

我现在有一个不同的问题,但是。选择器只允许我改变onPress图像。在释放时,图像变回> :-(

如何获得在印刷机上图像状态变化,并保持在该状态,直到下一次按下(如切换按钮)?

+0

这就是一个选择是应该做的。你松开按钮后,你必须以编程方式改变形象......看看上面的答案 – 2017-01-19 14:52:38

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

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