Найти, если экран имеет закругленные углы

Я ищу способ определить, имеет ли Android-устройство экран с закругленными углами и в идеале также радиус.

Мой usecase - это игра, состоящая из одного полноэкранного представления OpenGL. Он отображает некоторые элементы пользовательского интерфейса близко к краям и границам, чтобы дать как можно больше площади самой игре. Но когда экран имеет закругленные углы, они будут частично скрыты, поэтому их нужно расположить по-разному.

Ответ 1

В настоящее время (7 мая 2018 г.) вы можете только проверить, округлен ли физический экран или нет (для Android Wear), используя метод isRounded(), НО не может проверить, округлены ли углы экрана.

Я думаю, что есть только несколько устройств с закругленными углами. Так что лучше просто проверить название устройства и соответственно настроить свой макет.

Существует одна популярная библиотека Android, чтобы получить рыночное название устройства Android. Проверьте здесь для получения дополнительной информации: https://github.com/jaredrummler/AndroidDeviceNames

Использование:

String deviceName = DeviceName.getDeviceName();

Надеюсь, что это временное решение поможет вам временно.

Возможно, все устройства в будущем будут выпускаться с круглыми экранами (только предположение).

ОБНОВЛЕНИЕ (6 июня 2019 г.)

Android официально поддерживает вырезки экрана на устройствах под управлением Android 9 (уровень API 28) и выше.

Ссылка: https://developer.android.com/guide/topics/display-cutout