【问题标题】:NativeScript ListView: Mobile 1 column/ Tablet 2 columnsNativeScript ListView:移动 1 列/平板电脑 2 列
【发布时间】:2019-02-19 19:17:54
【问题描述】:

当在平板电脑上查看时,有没有办法将 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 来检测平板电脑与手机。

【问题讨论】:

    标签: android ios nativescript nativescript-vue


    【解决方案1】:

    是的,您可以使用platformModule.device.deviceType 来识别设备是移动设备还是平板电脑。

    关于布局,我认为您应该使用 RadListView,如果是移动设备,则使用线性布局,如果是平板电脑,则使用 2 列的网格布局。

    Here 是您以编程方式更改布局的方式。它是来自 TypeScript 应用程序的示例,但代码在 Vue 上仍然应该完全相同,在 RadListView 的 @loaded 事件中,您可以设置正确的基于布局的设备类型。

    【讨论】:

      猜你喜欢
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多