Как правильно эмулировать часы Fossil (WearOS) в эмуляторе Android? - PullRequest
0 голосов
/ 18 февраля 2020

Я пытался разработать приложение для Android умных часов (Android Wear), в частности для часов Fossil Sport.

В Android Диспетчер устройств, я установил базу устройство на Android Wear Round Chin и разрешение до 320x320.

При запуске моего кода эмулятор выглядит следующим образом:

enter image description here

Однако при развертывании на часах это выглядит следующим образом:

enter image description here

Пожалуйста, игнорируйте фактический текст, поскольку число рандомизировано, однако, почему круг будет обрезаны фактические часы?

Есть и другие незначительные различия, такие как текст, появляющийся на одной строке в эмуляторе, иногда занимает две строки. Как я могу подражать фактическому размеру циферблата, так как мне нужно развернуть его на часах и проверить непосредственно на часах.

Код:

<?xml version="1.0" encoding="utf-8"?>
<android.support.wear.widget.BoxInsetLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/box_inset_layout_padding"
    tools:deviceIds="wear">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" 
        android:padding="@dimen/inner_frame_layout_padding"
        app:boxedEdges="all">
            ...
            ...
            ...
    </FrameLayout>
</android.support.wear.widget.BoxInsetLayout>

1 Ответ

1 голос
/ 19 февраля 2020

Просто удалите BoxInsetLayout обертку и установите соответствующий размер внутреннего вида.

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

Поскольку в вашем эмуляторе достаточно места, чтобы полностью отобразить внутренний вид.

Альтернатива: Похоже, что вы используете пользовательское представление, попробуйте изменить его, чтобы уменьшить минимальное пространство. Тогда ваш индикатор выполнения может поместиться в уменьшенном пространстве.

...