我正在尝试将值转发到 Android RemoteView。一些值可以通过使用反射的 set 方法转发。例如背景颜色作品:
rv.setInt(R.id.viewId, "setBackgroundColor", 0xffff0000);
尽管该机制对于一个参数方法调用看起来非常通用,但它不适用于某些方法。例如。在视图上设置 alpha 不起作用(在 api 级别 15 上运行):
rv.setFloat(R.id.viewId, "setAlpha", 0.5f);
框架在运行时抱怨不支持 setAlpha(float)。有谁知道为什么会这样?远程视图上支持的方法的规则是什么?为什么阿尔法不在其中?
更新:
CommonsWare 的答案是正确的。经过更多研究后,某些人可能会觉得 ImageView.setAlpha( int ) 是可远程的。它仅在图像上设置 alpha,因此不适用于九个补丁等。但它可能对某些人有用。