根据屏幕尺寸设置设备方向

时间:2020-10-13 03:41:51

标签: flutter

我有一个Flutter应用,需要根据所用设备的大小来设置设备方向。

例如,如果它是移动设备,我想将方向设置为仅纵向。大于手机和设备的任何物体都可以自由旋转。

我知道使用SystemChrome.setPreferredOrientations

void main() async {
    SystemChrome.setPreferredOrientations([
         DeviceOrientation.portraitUp,
         DeviceOrientation.portraitDown,
    ]);
}

但是,由于需要在main()方法中进行设置,因此context不可用。因此,我们无法使用MediaQuery.of(context).size来获取屏幕尺寸并因此确定该设备是否为移动设备。

是否有解决方法?

1 个答案:

答案 0 :(得分:2)

使用 MediaQueryData.fromWindow 。您可以使用它来获取屏幕宽度。

    function get_event_list($id) 
        $this->db->select('CONVERT_TZ( SUBSTRING(`s_start`, 1, 16), diff,  
        @@session.time_zone) AS date1');
        $this->db->from('sessions');
        $this->db->where("s_tutor", $id);
    }