Activity에 그림자 숨기기 가상 버튼을 설정한 후 PopupWindow가 팝업된 후 가상 버튼이 다시 나옵니다.Baidu는 샅샅이 검색했지만 아무도 해결하지 못했습니다.다음 코드를 복사하면 그림자 숨기기를 실현할 수 있습니다. 내 개인 테스트의 Android 하이랜드 버전:
/**
* 影藏PopupWindow页面弹出时的虚拟按键
*/
public static void hideBottomUIMenuForPopupWindow(final PopupWindow popupWindow) {
if (popupWindow != null && popupWindow.getContentView() != null) {
popupWindow.getContentView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
// //保持布局状态
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
//布局位于状态栏下方
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
//全屏
View.SYSTEM_UI_FLAG_FULLSCREEN |
//隐藏导航栏
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
if (Build.VERSION.SDK_INT >= 19) {
uiOptions |= 0x00001000;
} else {
uiOptions |= View.SYSTEM_UI_FLAG_LOW_PROFILE;
}
popupWindow.getContentView().setSystemUiVisibility(uiOptions);
}
});
}
}