xujiaji / HappyBubble

:thought_balloon:BubbleLayout随意变化的气泡布局、消息对话框,可定制颜色,背景、弧度、尖角弧度、边框等等。BubbleDialog气泡弹窗根据点击View的位置定位它的弹窗位置,BubbleDialog可定制方向等!(BubbleLayout changes freely,BubbleDialog click on the location of View positioning its location,BubbleDialog can be customized directions.)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

android.R.id.content 为null

HH-Ding opened this issue · comments

view.getRootView().findViewById(android.R.id.content) 到这步,获取为null,百度,google没找到,请问这个是什么原因?

你试试直接用view.getRootView()试试呢

试过了,view.getRootView() 跟注释掉这段一样的效果

尝试过安装一下demo看会报错吗?

没有报错,所以感觉传进去的自定义view有关系,我的是悬浮窗的自定义 view

那你把这几句都注释了试试!

 int[] contentLocation = new int[2];
        view.getRootView().findViewById(android.R.id.content).getLocationOnScreen(contentLocation);
        clickedViewLocation[0] -= contentLocation[0];
        clickedViewLocation[1] -= contentLocation[1];

注释掉可以,就是显示位置有点偏移

因该是向下偏移了个状态栏的高度吧?

跟上一个问题的显示问题差不多

在这里你计算一下状态栏高度,然后减去这个高度因该就可以了

clickedViewLocation[1] -= 状态栏高度

好,我搞搞

恩,或则通过setOffsetX setOffsetY设置当前位置的偏移也许能达到更符合你的效果

现在就是通过setOffsetX 和setOffsetY设置,来达到效果的

恩,这里看来也得判断一下,没有考虑到悬浮窗的问题。这里的代码就是为了解决上一个问题

已更新,v1.1.7已修复