如何解决Android 11对话气泡通知坐标
我在气泡通知(https://developer.android.com/guide/topics/ui/bubbles)中有一个聊天列表视图,其中有一个滑动侦听器,要求列表视图项的位置。 在常规活动中,我可以通过以下方式实现此目标:
int[] mylistCoords = new int[2];
mListView.getLocationOnScreen(mylistCoords);
,然后从接触点中减去列表视图的偏移量,以匹配元素的点击框。
int x = (int) motionEvent.getRawX() - listViewCoords[0];
int y = (int) motionEvent.getRawY() - listViewCoords[1];
View child;
for (int i = 0; i < childCount; i++) {
child = mListView.getChildAt(i);
child.getHitRect(rect);
if (rect.contains(x,y)) {
mDownView = child;
break;
}
}
现在气泡中不再起作用,因为getLocationOnScreen不能计算ConversationBubbleView到实际主屏幕的偏移量。相反,它仅将ConversationBubbleView视为全屏,因此触摸点向底部偏移了相同的量。 有什么想法可以访问这些坐标吗?我尝试了各种 displayMetrics / display shenanigans的设置以使用view.getY()等中的值手动计算偏移量。但气泡对话似乎本身就是一个封装的东西,我无法访问它周围的东西。预先感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。