我正在尝试将值转发到 Android RemoteView。某些值可以通过使用反射的 set 方法转发。例如背景颜色的工作原理:
rv.setInt(R.id.viewId, "setBackgroundColor", 0xffff0000);
尽管该机制对于一个参数方法调用来说看起来非常通用,但它不适用于某些方法。例如。在视图上设置 alpha 不起作用(在 api 级别 15 上运行):
rv.setFloat(R.id.viewId, "setAlpha", 0.5f);
框架在运行时抱怨不支持 setAlpha(float)。有谁知道为什么会这样?远程查看支持的方法有什么规则?为什么阿尔法不属于其中呢?
Update:
CommonsWare 的答案是正确的。经过更多研究后,某些人可能会感兴趣 ImageView.setAlpha(int) 是远程的。它只设置图像上的 alpha,因此不适用于九个补丁等。但它可能对某些人有用。
有谁知道为什么会这样?远程查看支持的方法有什么规则?
setBackgroundColor()
有@RemotableViewMethod
注解。setAlpha()
才不是。
为什么阿尔法不属于其中呢?
这可能是任何事情,从具体的技术原因到简单的疏忽。欢迎您在以下位置提交功能请求:http://b.android.com http://b.android.com在 Android 的未来版本中添加该注释,或者实现它并提交补丁。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)