Android 模仿微信朋友圈点击回复后的定位效果

摘要:

    项目中有一块和微信做的很像,需求看了朋友圈点击回复后的效果(软键盘弹出后,话题会精确定位至软键盘之上,评论框与话题底部对齐的效果),然后对我们也提出了同样的要求(虽然这个功能十分华丽也十分实用,但我们十分不解,微信拉泡屎都是香的?)

 

首先,查阅大量的资料,筛选出一些有用的信息:

  提问的:http://bbs.csdn.net/topics/391042426

  回答一:http://blog.csdn.net/carlos1992/article/details/50435882

  回答二:http://blog.csdn.net/tobevan/article/details/52675168

在测试过下面这两种解决方案后,依然很不满意,目前也没有更多的资料能解决这块的问题。

1. 使用了高版本的API(回答一里的setSelectionFromTop需要最低版本为21 API LEVEL)。因为公司的项目是基于API 14,太高肯定是不行的。

2. 功能不完善,效果也不满意。第一个回答使用了高版本API就不说了,第二个回答的定位是有问题的,如果回复按钮靠近屏幕底部,那肯定是无法准确定位的。

 

翻阅Android API

    其实这个需求最核心的问题就是item在ListView中的定位,要计算出相对于ListView向上或者向下偏移多少距离。

    翻阅了android的API并且亲测之后发现以smoothScrollXX开头的API是很好用,并且一定会有效果的,而setSelectionXX开头的API很难用,需要自己做延迟。

 

最终解决

    基本回答二的项目,我在之上做了改进,使用了 smoothScrollBy这个低版本的API(API LEVEL >= 8都能使用),增加了键盘弹出时再次点击键盘上方其他回复按钮时的定位效果。

    解决方案和实现效果已上传至https://github.com/freestyletime/WXListView

    如果解决了您的问题,顺手点个赞或者在github上给个star,感谢~

    这里是Freestyletime@foxmail.com,欢迎交流。

    本人原创作品,转载请标明出处。

 

 

 

转载于:https://my.oschina.net/freestyletime/blog/1069042

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值