# CompatPopupWindow **Repository Path**: slyagw/CompatPopupWindow ## Basic Information - **Project Name**: CompatPopupWindow - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-26 - **Last Updated**: 2024-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CompatPopupWindow popup window fix offset - 优化PopupWindow在屏幕右边或下边的时候显示不全的问题. - 提供一套AnimationStyle. ![效果图](https://github.com/XuNeverMore/CompatPopupWindow/blob/master/img/popup.gif) 调用showAsDropDown时,如果anchor太靠下,可能空间不够,造成PopupWindow显示不全,所以要判断进行y方向偏移。靠右的画gravity可以用`Gravity.END|Gravity.Top`解决。 ### 核心代码 ```Java anchor.getLocationInWindow(location); int availableHeight = UtilsSize.getScreenHeight(anchor.getContext()) - location[1] - anchor.getHeight(); int minWidowHeight = getMinWidowHeight(); if (availableHeight < minWidowHeight && minWidowHeight != -1) { yoff -= minWidowHeight; if (useAnimStyle) { setAnimationStyle(R.style.AnimStyle_Bottom); } } else { if (useAnimStyle) { setAnimationStyle(R.style.AnimStyle); } } ```