如果显示则隐藏 否则弹出弹窗
if (isSoftShowing()) {    final View v = (this).getWindow().peekDecorView();    if (v != null && v.getWindowToken() != null) {        InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);        imm.hideSoftInputFromWindow(v.getWindowToken(), 0);    }} else {    CardPopuUtil.getInstance().showPopu(tvMeBackcardCardtype, tvMeBackcardCardtype, this);}
 
判断是否显示方法
private boolean isSoftShowing() {
    //获取当屏幕内容的高度    int screenHeight = this.getWindow().getDecorView().getHeight();    //获取View可见区域的bottom    Rect rect = new Rect();    //DecorView即为activity的顶级view   this.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);    //考虑到虚拟导航栏的情况(虚拟导航栏情况下:screenHeight = rect.bottom + 虚拟导航栏高度)    //选取screenHeight*2/3进行判断    return screenHeight*2/3 > rect.bottom;}

 

 

 

 

更多相关文章

  1. Android 屏幕亮度调节(2.0以后出现亮度自动调节)如何开启、关闭亮
  2. Android获取屏幕高度及宽度
  3. Android中如何获取屏幕宽度和高
  4. -----------关于android屏幕保护---屏幕常亮---------屏幕解锁--
  5. Android如何设置标题栏的高度
  6. Android之下获取屏幕分辨率的方法
  7. Android获取状态栏高度
  8. android 获取字体高度
  9. Android 屏幕旋转后防止重新执行onCreate的方法。

随机推荐

  1. Android数据库中查找一条数据 query方法
  2. Android一种View动态折线绘制的实现实战
  3. Android9.0默认使用MTP模式
  4. Android 系统联系人操作
  5. android launcher壁纸滚动图片拉伸问题
  6. Android中XLIFF的应用
  7. Android进程间通信(IPC)的AIDL机制:Hello Wo
  8. Android代码分析
  9. 【边做项目边学Android】知识点:Android控
  10. Android小项目之十一 应用程序的主界面