![](/img/trans.png)
[英]Is there a way to control the leading element behavior of NavigationRail in Flutter?
[英]Navigationrail leading/trailing align to left
我通過編輯這個例子找到了一個解決方案: https://api.flutter.dev/flutter/material/NavigationRail/extendedAnimation.html
解決方法:使用NavigationRail
的Animation
final Animation<double> animation =
NavigationRail.extendedAnimation(context);
然后使用 lerpDouble function 根據它更改寬度/填充:
padding: EdgeInsets.only(
right: lerpDouble(0, 200, animation.value)!,
bottom: 30,
),
完整的工作代碼:
import 'dart:ui';
import 'package:flutter/material.dart';
class NavigationRailMenuButton extends StatelessWidget {
const NavigationRailMenuButton({super.key, this.onPressed});
final VoidCallback? onPressed;
@override
Widget build(BuildContext context) {
final Animation<double> animation =
NavigationRail.extendedAnimation(context);
return AnimatedBuilder(
animation: animation,
builder: (BuildContext context, Widget? child) {
return Container(
padding: EdgeInsets.only(
right: lerpDouble(0, 200, animation.value)!,
),
child: IconButton(
icon: const Icon(Icons.menu),
iconSize: 32,
onPressed: onPressed,
),
);
},
);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.