Я хотел бы интегрировать поддержку метки экрана для моего приложения Cordova.Однако пару месяцев назад iPhone X был единственным смартфоном с выемкой на экране, поэтому его обнаружение и решение было довольно простым:
(function(){
// Really basic check for the ios platform
// /5722711/opredelit-yavlyaetsya-li-ustroistvo-ios
var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
// Get the device pixel ratio
var ratio = window.devicePixelRatio || 1;
// Define the users device screen dimensions
var screen = {
width : window.screen.width * ratio,
height : window.screen.height * ratio
};
// iPhone X Detection
if (iOS && screen.width == 1125 && screen.height === 2436) {
alert('iPhoneX Detected!');
}
})();
Тогда я мог бы с помощью javascript применить верхнее смещение:20px, так что поддержка надреза экрана завершена.
Однако по мере того, как все больше и больше телефонов начинают использовать этот надрез экрана, обнаружение становится намного сложнее, и я не знаю, с чего начать.У кого-нибудь есть хорошее представление о том, как решить эту проблему?
Как вы можете видеть ниже, многие компании, выпускающие смартфоны, начинают использовать метку экрана, и хорошее приложение должно поддерживать все устройства, верно?
Телефоны с выемкой на экране:
- Серия Huawei P20
- Asus ZenFone 5 и 5Z
- Huawei Honor 10
- Oppo R15 и R15Pro
- Oppo F7
- Vivo V9
- Vivo X21 и X21 UD
- OnePlus 6
- LG G7 ThinQ
- Leagoo S9
- Oukitel U18
- Sharp Aquos S3
- ...