2010-07-15 139 views
5

我有一個帶有圖像按鈕的主屏幕小部件。我有一個按鈕正在處理一個待處理的意圖,但我似乎無法弄清楚如何在按下按鈕時更改按鈕圖像。Android中的ImageButton主屏幕小部件

我嘗試使用選擇器,它在我的小部件測試活動中工作,但不在遠程視圖中。

我該如何在主屏幕小部件中實現此功能?

+0

嗨喬希, 你獲得此按下狀態留FINF辦法? 感謝 – nirs 2011-06-05 21:01:02

回答

0

我能夠通過移動它自己的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

3

可以中設置不同的圖像遠程視圖。

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