我正在尝试将值转发到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,因此不适用于九个等等.但它可能对某些人有用.
有人知道为什么会这样吗?远程视图支持的方法的规则是什么?
setBackgroundColor()有@RemotableViewMethod注释.setAlpha()才不是.
为什么阿尔法不在他们中间?
从具体的技术理由到简单的监督,这可能是任何事情.欢迎您在http://b.android.com上提交功能请求,以便在Android的某个未来版本中添加该注释,或者实现它并提交补丁.
| 归档时间: |
|
| 查看次数: |
1733 次 |
| 最近记录: |