【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

相关推荐
思忖小下28 分钟前
深入Android架构(从线程到AIDL)_14 应用Android的UI框架01
android·ui框架
sdkdlwk1 小时前
omnipeek分析beacon帧
android·网络·wifi
Gracker2 小时前
Android Weekly #202501
android
慧集通-让软件连接更简单!2 小时前
客户案例:基于慧集通(DataLinkX)集成平台的金蝶云星空与HIS系统集成案例--凭证模板的配置(二)
api·系统集成·医院his系统·金蝶云星空·医疗行业·凭证集成·erp财务集成
dzj20214 小时前
Unity发布android Pico报错——CommandInvokationFailure: Gradle build failed踩坑记录
android·unity·gradle·报错·pico
蔗理苦4 小时前
2025-01-06 Unity 使用 Tip2 —— Windows、Android、WebGL 打包记录
android·windows·unity·游戏引擎·webgl
练小杰9 小时前
我在广州学 Mysql 系列——有关数据表的插入、更新与删除相关练习
android·运维·数据库·经验分享·学习·mysql·adb
李新_13 小时前
一文聊聊基于OkHttp封装STOMP实践
android·架构
宜昌李国勇14 小时前
`http_port_t
android·前端
工程师老罗15 小时前
我用Ai学Android Jetpack Compose之Button
android·android jetpack