NativeScript ListView: мобильный 1 столбец / планшет 2 столбца - PullRequest
0 голосов
/ 19 февраля 2019

Есть ли способ адаптировать ListView (содержащий отдельные контейнеры с вещами) из одного (1) столбца на мобильном устройстве к двум (2) столбцам при просмотре на планшете?

+ -------- +|Элемент 1 |+ -------- +|Элемент 2 |+ -------- +|Пункт 3 |+ -------- +|Элемент 4 |+ -------- +

+ -------- + -------- +|Элемент 1 |Элемент 2 |+ -------- + -------- +|Пункт 3 |Элемент 4 |+ -------- + -------- +

Я возился с обновлением свойств в ListView и StackLayout, но я не добился успеха.

<ScrollView orientation="vertical" class="container">

    <ListView for="item in listOfItems" separatorColor="transparent">
        <v-template>
            <StackLayout>
                <GridLayout columns="150,150" rows="35,25" width="326" height="90" class="listing">
                    <Label :text="item.title" col="0" row="0" />
                </GridLayout>
            </StackLayout>
        </v-template>
    </ListView>

</ScrollView>

Если не указано иное, я использую platformModule.device.deviceType для обнаруженияпланшет против телефона.

1 Ответ

0 голосов
/ 19 февраля 2019

Да, вы можете использовать platformModule.device.deviceType, чтобы определить, является ли устройство мобильным или планшетным.

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

Здесь - это то, как вы изменяете макеты программно.Это был пример из приложения TypeScript, но все равно код должен быть точно таким же на Vue, в событии @loaded в RadListView вы можете установить правильный тип устройства на основе макета.

...