手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

flutter 如何设置桌面APP的最小宽高

首页 > Flutter >

 在Windows和MacOs上面程序的宽高是可以随便拖拉的,不象ios/android,总归是一定固定的宽高。为了保证部分输入框或者界面在拖拉时不会UI越界,所以就要设定一个最小宽高。当然你要为了保险,你可以  强制设定最小值和最大值一致,也就是让APPi窗口固定大小。但一般我们都只是限定最小值。。。毕竟,最大的话,丑就丑了(反正我没有UI设计师)

基于此,官方的flutter-desktop--embedding有一个插件:window_size,由于他没有发布到pub.dev,因此只能通过手动改pubspec.yml方法来进行加载

修改:pubspec.yml,在dependencies下增加:

XML/HTML代码
  1. window_size:  
  2.   git:  
  3.     url: https://github.com/google/flutter-desktop-embedding.git  
  4.     path: plugins/window_size  
  5.     ref: a738913c8ce2c9f47515382d40827e794a334274  

 

ref的话,可以直接去github上看,用最新的即可。

然后可以在runApp前进行判断,最简单的办法就是2行代码:

XML/HTML代码
  1. if(Platform.isMacOS || Platform.isWindows) {  
  2.     if( MediaQueryData.fromWindow(window).size.width < 640 ||  MediaQueryData.fromWindow(window).size.height < 480){  
  3.         window_size.setWindowSize(const Size(640,480))  
  4.     }  
  5. }  

 

当然实际情况得从自身出发,不能这样随意。。

参考:

1、flutter桌面版开发设置窗口大小(最小尺寸、最大尺寸、固定尺寸),窗口标题。 | 码海无涯 (yefei572.github.io)

2、flutter-desktop-embedding/README.md at master · google/flutter-desktop-embedding (github.com)

后续就要看看这个什么时候更新了:flutter-desktop-embedding/plugins/menubar at master · google/flutter-desktop-embedding (github.com),这个一更新。menubar就可以派用场了。

 ---EOF

后记:目前还没有判断窗口resize的事件,理论上应该要判断这个。后面会尝试加上




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):