|
- public static void showAsDropDown(PopupWindow pw, View anchor, int xoff, int yoff) {
- if (Build.VERSION.SDK_INT >= 24) {
- int[] location = new int[2];
- anchor.getLocationOnScreen(location);
- // 7.1 版本处理
- if (Build.VERSION.SDK_INT == 25) {
- //【note!】Gets the screen height without the virtual key
- WindowManager wm = (WindowManager) pw.getContentView().getContext().getSystemService(Context.WINDOW_SERVICE);
- int screenHeight = wm.getDefaultDisplay().getHeight();
- /*
- /*
- * PopupWindow height for match_parent,
- * will occupy the entire screen, it needs to do special treatment in Android 7.1
- */
- pw.setHeight(screenHeight - location[1] - anchor.getHeight() - yoff);
- }
- pw.showAtLocation(anchor, Gravity.NO_GRAVITY, xoff, location[1] + anchor.getHeight() + yoff);
- } else {
- pw.showAsDropDown(anchor, xoff, yoff);
- }
- }
复制代码
|
|