У меня есть Android Tv Box и собственное приложение с управлением плеером на главном экране, и теперь мне нужно точно установить размер проигрывателя 256x128 пикселей для отображения видео на светодиодной панели.
В настоящее время яиспользуйте собственные реакционные стили, чтобы установить размер компонента проигрывателя в пикселях.
const getStyleForVideoControl = (x, y, width, height) => {
const devicePixelRatio = PixelRatio.get();
function pixelsToDp(pixels) {
return pixels / devicePixelRatio;
}
return {
position: 'absolute',
left: pixelsToDp(x),
top: pixelsToDp(y),
width: pixelsToDp(width),
height: pixelsToDp(height)
};
}
Этот код хорошо работает с различными DPI, но не работает должным образом, когда я переопределяю разрешение устройства. Например, я получаю фактический размер компонента проигрывателя 342x171 вместо 256x128 пикселей при переопределении выходного разрешения экрана 800x1280 -> 1080x1920:
adb shell wm size
Physical size: 800x1280
Override size: 1080x1920
Как я могу обрабатывать переопределенные разрешения экрана в своем коде, чтобы настроить проигрывательразмер компонента правильно?