Я пробовал разными способами узнать размер выреза дисплея, но всегда получал значение DisplayCutout, равное нулю.
Я Я делаю что-то не так? Или это особенность эмулятора, которая не показывает на экране вырез для отверстия камеры?
Вот пример кода внутри функции OnCreate, с которым я пытался (безуспешно) чтобы узнать размер DisplayCutout:
Код: Выделить всё
getWindow().getDecorView().setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
@Override
public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
DisplayCutout cutout = insets.getDisplayCutout();
if (cutout != null)
Log.d("mytag", "left= " + cutout.getSafeInsetLeft());
else Log.d("mytag", "Cutout is null");
}
else Log.d("mytag", "Old API");
return insets;
}
});
Я также попробовал другой подход, присвоив LayoutInDisplayCutoutMode значение LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER. Но это не сработало, вырез камеры продолжал закрывать элементы управления.
Пожалуйста, направьте меня на правильный путь.
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-emulator
Мобильная версия