NativeScript ListView:移动设备 1 列/平板电脑 2 列
NativeScript ListView: Mobile 1 column/ Tablet 2 columns
有没有办法将 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
来检测平板电脑与 phone。
是的,您可以使用 platformModule.device.deviceType
来识别设备是手机还是平板电脑。
关于布局,我认为您应该使用 RadListView,如果是移动设备则使用线性布局,如果是平板电脑则使用 2 列的网格布局。
Here 是您将如何以编程方式更改布局。这是来自 TypeScript 应用程序的示例,但代码在 Vue 上应该完全相同,在 RadListView 的 @loaded
事件中,您可以设置正确的基于布局的设备类型。
有没有办法将 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
来检测平板电脑与 phone。
是的,您可以使用 platformModule.device.deviceType
来识别设备是手机还是平板电脑。
关于布局,我认为您应该使用 RadListView,如果是移动设备则使用线性布局,如果是平板电脑则使用 2 列的网格布局。
Here 是您将如何以编程方式更改布局。这是来自 TypeScript 应用程序的示例,但代码在 Vue 上应该完全相同,在 RadListView 的 @loaded
事件中,您可以设置正确的基于布局的设备类型。