在Android上,用户可以在桌面上放置一个小部件,然后通过长按并在按住时移动手指来移动它。
是否可以通过长时间触摸以编程方式获取移动小部件的屏幕上的位置?
我需要我的桌面小部件才能知道它是否靠近设备屏幕的边缘。根据它是在桌面的顶部还是在底部,将选择窗口小部件的不同布局。
我希望这个位置不以像素为单位,而是以0对索引为基础。例如。如果设备可以在桌面上显示4x7单元格,则右下角的小部件应该有坐标(3,6)。此外,应该以某种方式询问设备有多少单元格适合屏幕。
或者我误解了什么?
答案 0 :(得分:5)
在Android 2.1及更高版本中,通过一些选择主屏幕,您可以找到应用小部件在getSourceBounds()
点击时所在的位置 - 此值附加到您生成的任何Intent
PendingIntent
来自setOnClickPendingIntent()
。
然而:
因此,我认为你所声明的目标(“取决于它是在桌面的顶部还是在底部不同的小部件布局将被选中”)我认为是不可能的。