大概就这种效果

额,突然发现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浏览器详情页评论弹框效果相关推荐

  1. 转载 Android仿今日头条详情页实现

    转载自@ice_Anson Android仿今日头条详情页实现 源码地址: Android仿今日头条详情页实现 github源码地址 动态图 最近项目有个需求,需要实现一个和今日头条新闻详情页一样的体 ...

  2. Android 高仿美团外卖详情页

    目录 1.需求分析 2.具体实现 2.1效果展示 2.2布局分析 2.3代码分析 2.3.1自定义 CoordinatorLayout.Behavior 2.3.2自定义 RecyclerView.I ...

  3. Android仿微信朋友圈2自定义点赞评论弹框

    最近在做类似微信朋友圈点赞评论的功能,有个点赞评论弹框交互,感觉效果很好,点击评论按钮弹框从按钮左边弹出,遇到了3个问题(弹出动画不对.弹框布局没有适配.弹出的位置显示不对),动画和布局好解决,弹出的 ...

  4. android 高仿UC浏览器首页上拉面板效果

    最近在项目中,产品经理看见uc浏览器首页的上拉面板的效果做的非常不错,于是希望我们的项目的首页也做成这样的效果.于是经过思考后,实现了一个仿uc浏览器的上拉面板效果. 接下来说一下实现的思路吧 . 首 ...

  5. Android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能

    需要做一个仿淘宝客户端ViewPager滑动到最后一页,再拖动的时候跳到详情的功能,刚开始我也迷糊了,通过查阅相关资料发现有好多种实现方法,下面小编给大家分享实例代码,感兴趣的朋友一起看看吧 需要做一 ...

  6. 自定义Behavior的艺术探索-仿UC浏览器主页

    出处:http://www.jianshu.com/p/f7989a2a3ec2 前言&效果预览 最近几个周末基本在研究CoordinatorLayout控件和自定义Behavior当中,这期 ...

  7. android 微信评论功能,Android仿微信朋友圈点击评论自动定位到相关行功能

    最近闲来无事,随便看看各种UI实现的代码 打开你的微信朋友圈,点击评论,你就会发现有一个小细节:文本输入框的高度恰好定位到这条信息的底部位置 这个实现起来其实很简单,咱们就来看看吧 最简单的Recyc ...

  8. 一款非常不错的高仿UC浏览器源码下载

    今天给大家分享一款非常不错的android源码,这是我刚刚在网上找到的源码,高仿UC浏览器源码下载,希望大家能够喜欢. 源码下载: http://code.662p.com/view/1634.htm ...

  9. 仿淘宝详情页 直接上代码

    仿淘宝详情页 直接上代码 package com.example.liketitledemo;import android.content.Context; import android.graphi ...

最新文章

  1. mysql页码_PHP+MySQL实现输入页码跳转到指定页面功能示例
  2. HAProxy负载均衡原理及企业级实例部署haproxy集群
  3. python根据模板生成pdf文件_程序生成word与PDF文档的方法(python)
  4. 华为 AppGallery Connect 构建游戏分发能力,赋能游戏全生命周期
  5. visual studio能统计代码规模吗_Windows电脑游戏运行库有必要装吗?
  6. Mysql数据库知识总结
  7. Think in Java读书笔记--对象入门
  8. EditPlus添加asm配置
  9. 安卓阅读器开发_全球首个彩屏阅读器 掌阅这一脚油门“彩”的够深
  10. 无法连接 树莓派 网线连接电脑_无显示器通过网线连接笔记本电脑玩转树莓派...
  11. 电视台‘自制好剧’,大量剧本从何来?
  12. 走进小作坊(十三)----并购之战
  13. Python编程之md5加密和sha1加密
  14. C++重温笔记(一): C++再初识
  15. 比特彗星一直显示连接服务器,BitComet常见问题
  16. python编程遵循哪些规律_编程语言软件开发10个小技巧,Java、python、前端等都遵循此规律,108G资料放送中!...
  17. android三星打印插件,三星打印服务插件
  18. 腾讯股票API获取上证指数
  19. 中国农业产业链的数字化转型面临五大挑战
  20. 中国移动深圳分公司笔试题

热门文章

  1. Win10系统设置这些功能电脑加快运行速度!
  2. Mysql截取字符串
  3. QTreeView复选框的实现
  4. 支付宝还信用卡收费,怎么还款最划算?
  5. 支付宝还信用卡开始收费“免费午餐时代”结束了?
  6. Linux 命令(8)—— dmesg
  7. ios测试续航软件,iOS13.5 续航评测来了,7款iPhone实测出结果
  8. javascript计算倒计时
  9. 微信小程序设置简单的监听器(转载)
  10. Tooltip是一个消息提示组件