1

我对颤动很陌生,我一直在尝试创建一个现代抽屉,我找到了一个,问题是我发现了一个用途quadraticBezierToenddrawer它从右到左打开抽屉,但想使用drawer它打开抽屉形式从左到右。这是我的代码

Widget build(BuildContext context) {
width = MediaQuery.of(context).size.width - 50;
return MaterialApp(
  home: Scaffold(
    appBar: AppBar(),
    drawerScrimColor: Colors.grey.shade900.withOpacity(0.5),
     drawer: ClipPath(
        clipper: _DrawerClipper(),
        child: Drawer(
            child: Container(
              padding: const EdgeInsets.only(top: 48, bottom: 32),
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.end,
                children: <Widget>[
        Container(
          color: Colors.blue.shade200,
          child: DrawerHeader(
            child:Wrap(
           children:<Widget>[
             Container(
              alignment: Alignment.topCenter,
              child: CircleAvatar(
                maxRadius: 40,
                child: Image.asset("assets/profile.png"),
              ),
            ),
            Container(padding: EdgeInsets.fromLTRB(0, 10, 0, 0), alignment: Alignment.center,
             child:Text("Name",style: TextStyle(fontSize: 20,color: Colors.white),
             ),
            ),
            Container( alignment: Alignment.center,
             child:Text("E-mail Address",style: TextStyle(fontSize: 20,color: Colors.white),
             ),
             ),
           ],
           
            ),
          ),
          ),
        
        ListTile(
            title: Center(
                child: Text(
              "Item1",
              style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
            )),),],
    )),),),

我使用以下类clipper

class _DrawerClipper extends CustomClipper<Path> {  
@override
Path getClip(Size size) {
Path path = Path();

path.moveTo(50, 0);
path.quadraticBezierTo(0, size.height / 2, 50, size.height);
path.lineTo(size.width, size.height);
path.lineTo(size.width, 0);
return path;
}
@override
bool shouldReclip(CustomClipper<Path> oldClipper) => true;
}

这是它的外观照片:

在此处输入图像描述

如果我使用endDrawe它看起来很正常,但就我而言,我想使用drawer. 我认为它与quadraticBezierTo参数有关,但我不确定。我怎样才能解决这个问题?谢谢您的帮助

4

0 回答 0