setAlpha用于RemoteViews问题

时间:2010-11-30 11:36:30

标签: android android-widget

我正在创建一个appwidget,并且我想要更改它的透明度的小部件上有一个位图。

在我的服务中:

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

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

但它不起作用。模拟器在主屏幕上显示“问题加载小部件”。 我很确定其他一切都很好,当我改变它的行更改它的imageResource它完美运行:remoteView.setInt(R.id.widgetPNG, "setImageResource", R.drawable.anotherPNG).

任何人都可以帮助我吗?我已经坚持了一个星期......

2 个答案:

答案 0 :(得分:9)

以XML格式在imageview的src中设置图像。在java中:

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

尝试此支持仅在2.1以上可用

答案 1 :(得分:8)

我们只能在使用Android源代码(example)中标有setInt()注释的API上呼叫@RemotableViewMethod和朋友。害怕setAlpha()不是其中之一。

也许你可以有两个背景图像,一个是透明的,一个是不透明的......