gpt4 book ai didi

android - 微调器打破全屏/沉浸式标志

转载 作者:行者123 更新时间:2023-12-03 15:00:05 26 4
gpt4 key购买 nike

在我的应用程序中,我有全屏模式要求,以完成此操作

我已经设定

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

在我的 Activity 中。

但是当我点击我的微调器时,底部的导航栏变得可见

enter image description here

我也尝试过使用 FullscreenActivity,

Android Studio >Select “New” > Select “Activity” > "Fullscreen Activity”.

最佳答案

所以最后,kakajika 找到了这个问题的解决方案。并由 Quinn in this answer 发布:

import android.widget.ListPopupWindow;
import android.widget.PopupWindow;
import android.widget.Spinner;

public static void avoidSpinnerDropdownFocus(Spinner spinner) {
try {
Field listPopupField = Spinner.class.getDeclaredField("mPopup");
listPopupField.setAccessible(true);
Object listPopup = listPopupField.get(spinner);
if (listPopup instanceof ListPopupWindow) {
Field popupField = ListPopupWindow.class.getDeclaredField("mPopup");
popupField.setAccessible(true);
Object popup = popupField.get((ListPopupWindow) listPopup);
if (popup instanceof PopupWindow) {
((PopupWindow) popup).setFocusable(false);
}
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}

linked Gits也是用 Kotlin 编写的解决方案。

关于android - 微调器打破全屏/沉浸式标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37406308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com