Как проверить, круглые или квадратные часы

Есть ли возможность из 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
        ...
    }
}

Вы можете немного абстрагироваться, если хотите, купить с использованием более общих типов устройств, таких как "круглый", "квадратный" и т. Д., Чтобы вам не пришлось писать логику для обработки каждой уникальной модели устройства.

Другие вопросы по тегам