Closed Selina592732122 closed 6 years ago
你是说dialog弹出后,键盘收下去了?
是的,而且edittext失去焦点,因为dialog此时覆盖整个activity的,可有解决办法?
确实,这个好像不好办。我现在的思路是,你在列表上面覆盖一层布局。自己添加BubbleLayout,位置的处理逻辑你大概可以参照BubbleDialog。如果其他解决办法的话,你可以找找有没有关于dialog弹出后不让键盘消失的这类问题。因为BubbleDialog就是个直接继承Dialog的类
若用toast可行吗?
想法不错,因该可行!不过还是得自己计算位置
@Selina592732122 想了下我感觉直接覆盖一层布局上去也许会轻松很多
toast位置不好控制好像
这方面我不清楚,没涉及过toast的位置控制
相对而言你通过这些属性来控制,然后在父布局中调整位置还是很简单的,因为你的列表很有规则
我是怕到时候底层的列表滚动起来,就麻烦了
滚动肯定要隐藏呀!要不然对话框指着谁。。。
你的意思是在列表上一层,画固定12个BubbleLayout,然后代码去控制显示隐藏?
。。。 这也太夸张了,如果以你这个思路的话,建议你固定三个就行了。然后显示的时候,在这三个中对应位置显示哪个,然后调整BubbleLayout
的topMargin
移动到列表item的对应位置
好的,理解你意思了,一个BubbleLayout,代码去固定位置
是的,逻辑其实和DialogBubble里面的逻辑是一样的。只是一个是放在了Dialog,你现在要放在一个比如FrameLayout
里面而已
我按照你的思路,位置会有偏差,大神能否给个demo?
你是不是没有减去距离顶部的高度?
是水平方向有问题,我把你param.x当成paddingLeft来设置,会出现部分文字显示在屏幕外,不懂为啥
那我试试吧
BubbleLayoutTest.zip 你看一下,大概这样计算,你还需要调整一下。 真尴尬,我看着那一大堆的计算数据我自己现在都有点蒙圈了。
好的,实在太感谢👍,我明天看看
当布局在左边时,文字会被遮挡,是不是少算了啥?
我自己调了,多了些if判断,谢谢大神
是的,看你自己的情况判断就行。要点击隐藏,给FrameLayout加个点击事件隐藏就OK
测试一下,发现BubbleLayout的宽高必须在xml写死,不然会影响位置判断,如:layout_height=wrap_content,垂直方向有误差,因为我弹框的文字多少,会影响高度变化,代码中获取的高度可能是上一次的高度,本次高度好像获取不到;
可以设置值后,直接调用measure测量一下试试
你好,之前我用你的BubbleLayout,把它放在popupwindow,实现泡泡功能,但是发现点击到BubbleLayout的时候,报错如下,能有啥办法,在不去更改你的代码的情况下,避免这个错误?
这是一个bug,忘记判断是否为null了。你现在可以通过setOnClickEdgeListener
设置一个监听就可以了,或者等我晚上更新一下
好的,谢谢
如图,底部Edittext要输入内容,此时有弹框,edittext就会失去焦点,可有解决办法?