Android 仿UC浏览器详情页评论弹框效果
![](/assets/blank.gif)
额,突然发现UC被我卸载了,这个是QQ浏览器的效果,不过都一样,如果当前页面不是全屏的话,把根布局设为相对布局,然后设置评论布局为处于底部,这样在点击评论时弹开键盘会触发布局重绘,底部的评论也会处于软键盘的上方,键盘消息,布局下移,但是我们要说的是全屏的情况下我们如何处理。
首先要监听到软件盘弹起,然后再设置评论的popupWindow
import android.app.Activity;
import android.graphics.Rect;
import android.support.v4.app.Fragment;
import android.view.View;
import android.view.ViewTreeObserver;public class KeyboardStatusDetector {private static final int SOFT_KEY_BOARD_MIN_HEIGHT = 100;private KeyboardVisibilityListener mVisibilityListener;boolean keyboardVisible = false;public KeyboardStatusDetector registerFragment(Fragment f) {return registerView(f.getView());}public KeyboardStatusDetector registerActivity(Activity a) {return registerView(a.getWindow().getDecorView().findViewById(android.R.id.content));}public KeyboardStatusDetector registerView(final View v) {v.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {Rect r = new Rect();v.getWindowVisibleDisplayFrame(r);//int heightDiff = v.getRootView().getHeight() - (r.bottom - r.top);int heightDiff = v.getRootView().getHeight() - r.bottom;LogUtils.e("键盘A--->", v.getRootView().getHeight() +" "+ r.bottom +" "+ r.top);if (heightDiff > SOFT_KEY_BOARD_MIN_HEIGHT) { // if more than 100 pixels, its probably a keyboard...if (!keyboardVisible) {keyboardVisible = true;if (mVisibilityListener != null) {mVisibilityListener.onVisibilityChanged(true, heightDiff);}}} else {if (keyboardVisible) {keyboardVisible = false;if (mVisibilityListener != null) {mVisibilityListener.onVisibilityChanged(false, heightDiff);}}}}});return this;}public KeyboardStatusDetector setVisibilityListener(KeyboardVisibilityListener listener) {mVisibilityListener = listener;return this;}public interface KeyboardVisibilityListener {void onVisibilityChanged(boolean keyboardVisible, int heightDiff);}
}
然后再对popupWindow进行设置位置
private void showSendMsgPop() {if (null == sendMsgPopup) {sendMsgPopup = new SendMsgPopupWindow(NewsDetailsActivity.this);}//设置处于底部sendMsgPopup.showAtLocation(getWindow().getDecorView(), Gravity.BOTTOM, 0, 0);}
当然,最后最关键的是popupWindow里的配置,要不然popupWindow会被软键盘遮挡。
@Overridepublic void dismiss() {super.dismiss();// 评论框消息的同时把软键盘关闭KeyBoardUtils.closeKeybord(editText, mContext);}public void showAtLocation(View parent, int gravity, int x, int y) {// 这三行配置是关键this.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);this.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);this.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); // 在显示输入法之后调用,否则popupwindow会在窗口底层super.showAtLocation(parent, gravity, x, y);}
http://www.taodudu.cc/news/show-5693089.html
相关文章:
- android浏览器对比评测,Android浏览器对比测试:QQ浏览器大幅领先
- Ajax下拉刷新在安卓的UC浏览器和QQ浏览器无效
- winxp 无法连接计算机,win XP系统的电脑无法连接苹果手机怎么解决
- 苹果电脑安装XP无声音问题的解决
- 在苹果系统下切换xp系统方式
- XP安装虚拟机+苹果系统
- 双11蓝牙耳机哪个牌子好?双十一热销蓝牙耳机推荐
- 游戏蓝牙耳机哪个牌子好?2022游戏蓝牙耳机推荐
- 通话蓝牙耳机哪个牌子好?四款通话质量好的蓝牙耳机推荐
- 骨传导蓝牙耳机哪个品牌好,目前最好用的五款骨传导耳机
- 游戏蓝牙耳机哪个品牌好?游戏蓝牙耳机品牌排行榜
- 入耳式蓝牙耳机哪个牌子好?听歌音质好的蓝牙耳机
- 蓝牙解码格式哪个最好_蓝牙耳机哪个品牌最好?盲买绝不踩雷五大品牌!
- 运动无线蓝牙耳机哪个品牌好、蓝牙运动耳机排行榜10强
- 骨传导耳机哪个牌子好,五款骨传导蓝牙耳机推荐
- 无线蓝牙耳机哪个牌子好?2022无线蓝牙耳机国产品牌排行榜
- 电竞游戏蓝牙耳机哪个牌子好?电竞游戏蓝牙耳机排行榜
- 骨传导蓝牙耳机哪个牌子好?五款骨传导耳机推荐
- 蓝牙耳机哪个牌子好?蓝牙耳机品牌推荐
- 无线跑步蓝牙耳机哪个牌子好、值得推荐的运动耳机
- 蓝牙耳机哪个品牌最好?总结四大蓝牙耳机品牌排行榜
- 游戏专用蓝牙耳机哪个牌子好?最好的游戏蓝牙耳机品牌排行
- 运动蓝牙耳机哪个品牌好、最好的五款运动蓝牙耳机品牌排行推荐
- 蓝牙耳机哪个品牌最好?目前最值得入手性价比高的无线蓝牙耳机
- 蓝牙耳机哪个品牌质量最好最耐用?蓝牙耳机排行榜10强推荐
- 蓝牙耳机什么牌子好?分享四款市面上音质好的蓝牙耳机
- Java集合练习之——斗地主游戏模拟(发牌遍历(而已))
- python斗地主70w豆具体思路
- C语言:斗地主发牌器
- Python实现简单斗地主发牌流程
Android 仿UC浏览器详情页评论弹框效果相关推荐
- 转载 Android仿今日头条详情页实现
转载自@ice_Anson Android仿今日头条详情页实现 源码地址: Android仿今日头条详情页实现 github源码地址 动态图 最近项目有个需求,需要实现一个和今日头条新闻详情页一样的体 ...
- Android 高仿美团外卖详情页
目录 1.需求分析 2.具体实现 2.1效果展示 2.2布局分析 2.3代码分析 2.3.1自定义 CoordinatorLayout.Behavior 2.3.2自定义 RecyclerView.I ...
- Android仿微信朋友圈2自定义点赞评论弹框
最近在做类似微信朋友圈点赞评论的功能,有个点赞评论弹框交互,感觉效果很好,点击评论按钮弹框从按钮左边弹出,遇到了3个问题(弹出动画不对.弹框布局没有适配.弹出的位置显示不对),动画和布局好解决,弹出的 ...
- android 高仿UC浏览器首页上拉面板效果
最近在项目中,产品经理看见uc浏览器首页的上拉面板的效果做的非常不错,于是希望我们的项目的首页也做成这样的效果.于是经过思考后,实现了一个仿uc浏览器的上拉面板效果. 接下来说一下实现的思路吧 . 首 ...
- Android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能
需要做一个仿淘宝客户端ViewPager滑动到最后一页,再拖动的时候跳到详情的功能,刚开始我也迷糊了,通过查阅相关资料发现有好多种实现方法,下面小编给大家分享实例代码,感兴趣的朋友一起看看吧 需要做一 ...
- 自定义Behavior的艺术探索-仿UC浏览器主页
出处:http://www.jianshu.com/p/f7989a2a3ec2 前言&效果预览 最近几个周末基本在研究CoordinatorLayout控件和自定义Behavior当中,这期 ...
- android 微信评论功能,Android仿微信朋友圈点击评论自动定位到相关行功能
最近闲来无事,随便看看各种UI实现的代码 打开你的微信朋友圈,点击评论,你就会发现有一个小细节:文本输入框的高度恰好定位到这条信息的底部位置 这个实现起来其实很简单,咱们就来看看吧 最简单的Recyc ...
- 一款非常不错的高仿UC浏览器源码下载
今天给大家分享一款非常不错的android源码,这是我刚刚在网上找到的源码,高仿UC浏览器源码下载,希望大家能够喜欢. 源码下载: http://code.662p.com/view/1634.htm ...
- 仿淘宝详情页 直接上代码
仿淘宝详情页 直接上代码 package com.example.liketitledemo;import android.content.Context; import android.graphi ...
最新文章
- mysql页码_PHP+MySQL实现输入页码跳转到指定页面功能示例
- HAProxy负载均衡原理及企业级实例部署haproxy集群
- python根据模板生成pdf文件_程序生成word与PDF文档的方法(python)
- 华为 AppGallery Connect 构建游戏分发能力,赋能游戏全生命周期
- visual studio能统计代码规模吗_Windows电脑游戏运行库有必要装吗?
- Mysql数据库知识总结
- Think in Java读书笔记--对象入门
- EditPlus添加asm配置
- 安卓阅读器开发_全球首个彩屏阅读器 掌阅这一脚油门“彩”的够深
- 无法连接 树莓派 网线连接电脑_无显示器通过网线连接笔记本电脑玩转树莓派...
- 电视台‘自制好剧’,大量剧本从何来?
- 走进小作坊(十三)----并购之战
- Python编程之md5加密和sha1加密
- C++重温笔记(一): C++再初识
- 比特彗星一直显示连接服务器,BitComet常见问题
- python编程遵循哪些规律_编程语言软件开发10个小技巧,Java、python、前端等都遵循此规律,108G资料放送中!...
- android三星打印插件,三星打印服务插件
- 腾讯股票API获取上证指数
- 中国农业产业链的数字化转型面临五大挑战
- 中国移动深圳分公司笔试题