Как проверить, круглые или квадратные часы
Есть ли возможность из API connectIQ проверить, круглые или квадратные часы?
Мое приложение рисует индикатор выполнения для таймера, и я могу сделать его общим, если найду способ определить, является ли экран круглым или квадратным
3 ответа
В классе: Toybox::System::DeviceSettings
это метод screenShape()
, который выглядит как то, что вы хотите.
Кажется, прямой функции нет, но вы всегда можете проверить ширину и высоту циферблата:
dc.getWidth(), dc.getHeight()
Если они равны, скажем, 218px, у вас есть Fenix 3 и, очевидно, круглое лицо. Если они 205px x 148px, вы имеете дело с квадратным лицом vívoactive.
Может быть, напишите функцию, которую вы можете вызвать из onLayout:
function isRoundFace (dc) {
return dc.getWidth() == dc.getHeight();
}
Можно использовать компилятор ресурсов для указания ресурсов для различной геометрии экрана. Это можно использовать для определения того, на каком устройстве запущено приложение.
В своем проекте укажите уникальный набор ресурсов (который включает в себя такие вещи, как строки, изображения и меню) для каждого устройства, которое вы намереваетесь поддерживать, создавая специфичные для устройства каталоги в корневом каталоге проекта (например, resources-vivoactive или resources-fenix3).).
Затем создайте строковый ресурс в файле resources.xml в каталоге ресурсов каждого устройства, в котором указан тип устройства:
<resources>
<bitmap id="LauncherIcon" filename="images/launcher_icon.png" />
<string id="AppName">MyApp</string>
<string id="deviceType">vivoactive</string>
</resources>
Когда приложение запустится, выполните простую проверку, чтобы получить устройство, на котором запущено приложение:
function onStart() {
deviceType = Ui.loadResource(Rez.Strings.deviceType);
}
Затем проверяйте deviceType всякий раз, когда вам нужно сделать что-то уникальное для конкретного устройства:
function drawProgressBar() {
if (deviceType.equals("vivoactive")) {
// Do vivoactive-specific stuff here
...
}
}
Вы можете немного абстрагироваться, если хотите, купить с использованием более общих типов устройств, таких как "круглый", "квадратный" и т. Д., Чтобы вам не пришлось писать логику для обработки каждой уникальной модели устройства.