【Flutter&Dart】 拖动改变 widget 的窗口尺寸大小GestureDetector~简单实现(10 /100)

上效果

预期的是通过拖动一条边界线改变窗口大小,类似vscode里拖动效果。这个是简单的拖动实现

上代码:

dart 复制代码
import 'package:flutter/material.dart';

class MyDraggableViewDemo extends StatelessWidget {
  const MyDraggableViewDemo({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('MyDraggableViewDemo'),
        ),
        body: DraggableDemo(),
      ),
    );
  }
}

class DraggableDemo extends StatefulWidget {
  const DraggableDemo({super.key});

  @override
  State<StatefulWidget> createState() {
    return _DraggableDemoState();
  }
}

class _DraggableDemoState extends State<DraggableDemo> {
  double width = 200.0;
  double height = 200.0;

  @override
  Widget build(BuildContext context) {
    return Center(
      child: GestureDetector(
        onPanUpdate: (details) {
          setState(() {
            width = width + details.delta.dx;
            height = height + details.delta.dy;
          });
        },
        child: Container(
          width: width,
          height: height,
          
          color: Colors.blue,
          child: Center(
            child: Text(
              '点击 拖动后改变窗口大小',
              style: TextStyle(color: Colors.white),
            ),
          ),
        ),
      ),
    );
  }
}

所以预期的边界线效果,应该是对边界线进行处理,然后和关联的 widget 进行联动,

下一篇见

======End

相关推荐
We་ct4 分钟前
HTML5 原生拖拽 API 基础原理与核心机制
前端·javascript·html·api·html5·浏览器·拖拽
AI玫瑰助手32 分钟前
Python基础:列表的定义、增删改查核心操作
android·开发语言·python
AirDroid_cn43 分钟前
安卓15分享Wi-Fi二维码能换颜色吗?自定义颜色方法
android
儿歌八万首1 小时前
Compose 自定义组件:封装一个通用标题栏
android·compose·标题栏
ZHOUPUYU1 小时前
PHP性能优化实战:提升你的应用速度
android·性能优化·php
Railshiqian2 小时前
安卓源码编译ko文件到设备img,并在开机阶段自动加载
android·kernel
Lanren的编程日记2 小时前
Flutter 鸿蒙应用AR功能集成实战:多平台AR框架+模拟模式,打造增强现实体验
flutter·ar·harmonyos
NoSi EFUL3 小时前
学生成绩管理系统(MySQL)
android·数据库·mysql
molong9313 小时前
SIM 卡监听(电话监听)
android·学习·kotlin
帅次3 小时前
Android 高级工程师面试参考答案:Framework、生命周期、View 与 Binder
android·面试·binder