安卓论坛

标题: Android7.0 7.1 popupwindow showAsDropDown 显示位置异常解决办法 [打印本页]

作者: admin    时间: 2018-1-11 10:06
标题: Android7.0 7.1 popupwindow showAsDropDown 显示位置异常解决办法
  1.     public static void showAsDropDown(PopupWindow pw, View anchor, int xoff, int yoff) {
  2.         if (Build.VERSION.SDK_INT >= 24) {
  3.             int[] location = new int[2];
  4.             anchor.getLocationOnScreen(location);
  5.             // 7.1 版本处理
  6.             if (Build.VERSION.SDK_INT == 25) {
  7.                 //【note!】Gets the screen height without the virtual key
  8.                 WindowManager wm = (WindowManager) pw.getContentView().getContext().getSystemService(Context.WINDOW_SERVICE);
  9.                 int screenHeight = wm.getDefaultDisplay().getHeight();
  10.                 /*
  11.                 /*
  12.                  * PopupWindow height for match_parent,
  13.                  * will occupy the entire screen, it needs to do special treatment in Android 7.1
  14.                 */
  15.                 pw.setHeight(screenHeight - location[1] - anchor.getHeight() - yoff);
  16.             }
  17.             pw.showAtLocation(anchor, Gravity.NO_GRAVITY, xoff, location[1] + anchor.getHeight() + yoff);
  18.         } else {
  19.             pw.showAsDropDown(anchor, xoff, yoff);
  20.         }
  21.     }
复制代码







欢迎光临 安卓论坛 (http://android.hh85.com/) Powered by Discuz! X3.2