2010-11-30 61 views
5

我正在製作一個appwidget,並且在我想要改變其透明度的小部件上有一個位圖。setAlpha for RemoteViews問題

在服務上,我有:

RemoteViews remoteView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.myWidget); 

remoteView.setInt(R.id.widgetPNG, "setAlpha", 50); 

但它不工作。模擬器在主屏幕上顯示「問題加載小部件」。 我很確定一切都很好cos當我改變線來改變它的imageResource它完美運行:remoteView.setInt(R.id.widgetPNG, "setImageResource", R.drawable.anotherPNG).

任何人都可以幫助我嗎?我一直堅持這一個星期...

回答

8

在您的Android源代碼(example)中,您只能撥打setInt()和朋友在API上標記爲@RemotableViewMethod註釋的朋友。害怕setAlpha()不是其中之一。

也許你可以有兩個背景圖片,透明或一非透明的一個...

+0

兩個圖像這種支持是不是我的選擇,因爲我要的是淡出影像漸漸說,每個小時的10%。 – Kinwai 2010-11-30 16:18:00

+0

我還可以如何更改小部件中圖像的透明度? – Kinwai 2010-11-30 16:38:49

9

集圖像中的ImageView的XML一個src。在java中:

if (Integer.parseInt(Build.VERSION.SDK) > Build.VERSION_CODES.ECLAIR_MR1) { 
    rViews.setInt(R.id.imageview, "setAlpha", 30); 
} 

嘗試這一個只提供2.1以上