RemoteViews支持的方法

Mor*_*itz 2 android

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

rv.setInt(R.id.viewId, "setBackgroundColor", 0xffff0000);
Run Code Online (Sandbox Code Playgroud)

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

rv.setFloat(R.id.viewId, "setAlpha", 0.5f);
Run Code Online (Sandbox Code Playgroud)

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

更新:

CommonsWare的答案是正确的.经过一些更多的研究后,对于一些人来说,ImageView.setAlpha(int)是可以远程访问的.它只在图像上设置alpha,因此不适用于九个等等.但它可能对某些人有用.

Com*_*are 6

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

setBackgroundColor()@RemotableViewMethod注释.setAlpha()才不是.

为什么阿尔法不在他们中间?

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