Flutter:AnimatedPadding动态修改padding

html 复制代码
// 默认top为10,点击后修改为100,此时方块会向下移动
padding: EdgeInsets.fromLTRB(left, top, right, bottom),
js 复制代码
class _MyHomePageState extends State<MyHomePage> {
  bool flag = true;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('标题'),
      ),
      body: AnimatedPadding(
        curve: Curves.easeIn, // 动画属性
        duration: Duration(milliseconds: 500),
        // 默认
        padding: EdgeInsets.fromLTRB(10, flag ?10 : 100, 0, 0),
        child: Container(
          width: 100,
          height: 100,
          color: Colors.red,
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: (){
          flag = !flag;
          setState(() {});
        },
        child: const Icon(Icons.add),
      ),
    );
  }
}


相关推荐
松叶似针1 小时前
Flutter三方库适配OpenHarmony【doc_text】— .docx 解析全流程:从 ZIP 解压到 XML 提取
xml·flutter·harmonyos
飘逸飘逸1 小时前
Autojs进阶前言
android·javascript
spencer_tseng1 小时前
Branding Printing System (Android Pad)
android·pad
lqj_本人2 小时前
Flutter三方库适配OpenHarmony【apple_product_name】MethodCallHandler消息处理机制
flutter
西西学代码2 小时前
Flutter---事件处理
flutter
FrameNotWork2 小时前
多设备 Android Logcat 自动采集方案:基于 Docker + Shell 实现日志按天切割与自动清理
android·docker·容器
bqliang3 小时前
Compose 实验性 Styles API
android·android jetpack
大尚来也4 小时前
PHP 入门指南:从零基础到掌握核心语法
android
summerkissyou19874 小时前
android -wifi/蓝牙-常见面试题
android·wifi·bluetooth