微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android:以编程方式获取桌面小部件相对于其他窗口小部件的位置

Android上,用户可以将小部件放置在桌面上,然后通过长按并按住它来移动手指来移动它.

是否可以以编程方式获取通过长按移动小部件在屏幕上的位置?

我需要我的桌面小部件,以了解它是否在设备屏幕边缘附近.根据它是位于桌面的顶部还是底部,将为小部件选择不同的布局.

我希望这个位置不是以像素为单位,而是以基于0的索引对的形式给出.例如.如果设备可以在桌面上显示4×7的单元格,则右下角的小部件应具有坐标(3,6).同样应该可以以某种方式询问设备屏幕中可以容纳多少个单元格.

还是我误会了什么?

解决方法:

在Android 2.1及更高版本上,通过一些选择的主屏幕,您可以找到通过getSourceBounds()单击时应用程序小部件所在的位置-该值将附加到您通过setonClickPendingIntent()通过PendingIntent生成的任何Intent.

然而:

>这仅适用于Android 2.1及更高版本
>并非所有主屏幕都可以执行此操作,因为这是Launcher代码IIRC的一部分
>坐标以像素IIRC为单位
>由于没有API与主屏幕进行交互,因此无法以任何其他方式查询主屏幕以查找此信息.

因此,我认为您提出的目标是不可能的(“取决于它是位于桌面的顶部还是底部的小部件的不同布局”).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐