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

Android 11对话气泡通知坐标

如何解决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 举报,一经查实,本站将立刻删除。