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 (将#修改为@)