ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-10-23 13:28:01  阅读:147  来源: 互联网

标签:widget screen position desktop android


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

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

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

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

还是我误会了什么?

解决方法:

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

然而:

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

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

标签:widget,screen,position,desktop,android
来源: https://codeday.me/bug/20191023/1912896.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有