【发布时间】:2022-11-22 13:05:16
【问题描述】:
我想根据屏幕方向更改 Positioned 小部件的 top 属性值。
我不知道该怎么做。
谁能帮忙?
【问题讨论】:
标签: android flutter dart mobile-development
我想根据屏幕方向更改 Positioned 小部件的 top 属性值。
我不知道该怎么做。
谁能帮忙?
【问题讨论】:
标签: android flutter dart mobile-development
用户MediaQuery.of(context).orientation
它可以响应设备的方向。
Positioned(
top: MediaQuery.of(context).orientation == Orientation.portrait ? portraitValue : landScapeValue,
child: //your code
);
【讨论】:
从 official flutter article 开始,您可以使用 OrientationBuilder 根据设备方向管理您的小部件,如下所示:
OrientationBuilder(
builder: (context, orientation) {
return Positioned(
top: orientation == Orientation.portrait ? 10 : 50,
child: /*...0*/
);
},
),
用您的值更改10 和50。
如果您愿意在应用程序中的小部件以外的其他地方获取设备的方向,例如方法,您可以使用 MediaQuery.of(context).orientation 来获取设备的实际方向。
printOrientation() {
print(MediaQuery.of(context).orientation);
}
检查此以获取更多信息:
【讨论】: