我正在创建一个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).
任何人都可以帮助我吗?我已经坚持了一个星期......
答案 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()
不是其中之一。
也许你可以有两个背景图像,一个是透明的,一个是不透明的......