一、Flutter的Windows端DIY标题栏

记录下实习过程中遇到的比较有记录意义的知识点吧,也是为了自己巩固记忆!本人小白,大佬勿喷 所有的代码均是已实现才上传!!!(版本问题忽略 取消Windows端默认的标题栏,以及最大最小化按钮。 先来看下我们的最终目标吧:

不要疑惑这就是最终目标:我们自定义的右上角三个按钮 +实现按住顶部可以拖拽

正文开始

第一步、导包 dependencies:下面

第二步、import引入 import 'package:bitsdojo_window/bitsdojo_window.dart';

现在你已经成功了一大半,接下来就是尽情的使用作者给我们提供好的组件即可, flutter主打的就是开箱即用

目标一:创建自定义按钮(最小化,最大化,关闭)

假设此时你已经掌握了布局基础知识,在我们的右上方(当然你想放哪里都可以 ),使用WindowTitleBarBox 组件来布局我们想要的Button即可。 (前提是你的组件应该处于合理的位置,比如右上角。 注意WindowTitleBarBox是只有child属性,想要放多个组件在使用一个布局组件接口,Row(推荐)/Column,) 代码如下:

WindowButtons 只是一个放了三个按钮的自定义组件而已,不要害怕

下面放上最简单的方式,只有程序跑起来了才能真正的理解嘛! 真正的几行代码实现,样式再说。

上述代码效果如下

目标二:删除原有的标题,按钮等

此时我们要做的事就是来到windows/runner/main.cpp目录下,在最上方插入这两行代码,

#include <bitsdojo_window_windows/bitsdojo_window_plugin.h>

auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME);

由于删除了windows自带功能,此时需要关闭下程序,再打开。

目标三:实现启动程序应用的大小自定义

来到程序的main主函数中,在runApp后面 见名只意

延申部分

一、自定义按钮的样式以及Hover状态等

见名即可知意,样式这东西多试试,学前端的乐趣就再次。

将以上变量赋予按钮的 colors: buttonColors,属性即可

二、打开程序时窗口闪烁

由于vscode默认窗口大小与我们设置初始化的大小不同,所以需要改变的话要做两步。

一、来到windows/runner/main.cpp目录,将代码改为 #include <bitsdojo_window_windows/bitsdojo_window_plugin.h>

auto bdw = bitsdojo_window_configure(BDW_CUSTOM_FRAME | BDW_HIDE_ON_CLOSE);

二、切记,一定要打开在目标三中加上最后一句appWindow.show() 否则你会看不到自己的窗口。

🐕!!!爱敲代码的欧文。 当然了,能看文档看懂的可直接移步文档。愿大家都高薪,一起加油!

相关推荐
恋猫de小郭9 小时前
Flutter Zero 是什么?它的出现有什么意义?为什么你需要了解下?
android·前端·flutter
一只大侠的侠13 小时前
Flutter开源鸿蒙跨平台训练营 Day 10特惠推荐数据的获取与渲染
flutter·开源·harmonyos
renke336417 小时前
Flutter for OpenHarmony:色彩捕手——基于HSL色轮与感知色差的交互式色觉训练系统
flutter
子春一19 小时前
Flutter for OpenHarmony:构建一个 Flutter 四色猜谜游戏,深入解析密码逻辑、反馈算法与经典益智游戏重构
算法·flutter·游戏
铅笔侠_小龙虾19 小时前
Flutter 实战: 计算器
开发语言·javascript·flutter
微祎_21 小时前
Flutter for OpenHarmony:构建一个 Flutter 重力弹球游戏,2D 物理引擎、手势交互与关卡设计的工程实现
flutter·游戏·交互
一起养小猫21 小时前
Flutter for OpenHarmony 实战_魔方应用UI设计与交互优化
flutter·ui·交互·harmonyos
hudawei99621 小时前
flutter和Android动画的对比
android·flutter·动画
一只大侠的侠1 天前
Flutter开源鸿蒙跨平台训练营 Day7Flutter+ArkTS双方案实现轮播图+搜索框+导航组件
flutter·开源·harmonyos
一只大侠的侠1 天前
Flutter开源鸿蒙跨平台训练营 Day9分类数据的获取与渲染实现
flutter·开源·harmonyos