问题描述
我在气泡通知(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 (将#修改为@)