RemoteViews支持的方法

时间:2012-07-07 13:46:38

标签: android

我正在尝试将值转发到Android RemoteView。某些值可以通过使用反射的set方法转发。例如背景颜色:

rv.setInt(R.id.viewId, "setBackgroundColor", 0xffff0000);

虽然该机制对于一个param方法调用看起来非常通用,但它对某些方法不起作用。例如。在视图上设置alpha不起作用(在api级别15上运行):

rv.setFloat(R.id.viewId, "setAlpha", 0.5f);

框架在运行时抱怨不支持setAlpha(float)。有人知道为什么会这样吗?远程视图支持的方法的规则是什么?为什么阿尔法不在其中呢?

更新

CommonsWare的回答是正确的。经过一些研究后,一些人可能会感兴趣的是ImageView.setAlpha( int )是可远程的。它只在图像上设置alpha,因此不适用于九个等等。但它可能对某些人有用。

1 个答案:

答案 0 :(得分:6)

  

有人知道为什么会这样吗?远程视图支持的方法的规则是什么?

setBackgroundColor()具有@RemotableViewMethod注释。 setAlpha()没有。

  

为什么阿尔法不在其中?

从具体的技术理由到简单的监督,这可能是任何事情。欢迎您在http://b.android.com上提交功能请求,以便在Android的某个未来版本中添加该注释,或者实现它并提交补丁。