2010-11-30 75 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以上