flutter自定义dialog是调用showDialog方法,return 一个Dialog或者Dialog的子类,如AlertDialog。默认Dialog是直角,如果要实现一个圆角的dialog如何做呢?看下图:

实现方法:

在Dialog下加一个shape属性,然后布局的Container加一个圆角Decoration

showDialog(context: context, builder: (context){
      return Dialog(
        shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.all(Radius.circular(15))
        ),
        child: Container(
          height: 200,
          decoration: BoxDecoration(
              borderRadius: BorderRadius.all(Radius.circular(15)),
              color: Colors.white
          ),
          padding: EdgeInsets.fromLTRB(15, 20, 15, 20),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              Text('添加标签', style: TextStyle(color: Colors.black, fontSize: 16),),
              SizedBox(height: 20,),
              Container(
                height: 40,
                decoration: BoxDecoration(
                    color: Color(0xFFF6F6F6),
                    borderRadius: BorderRadius.all(Radius.circular(10))
                ),
              )
            ],
          ),
        ),
      );
    });

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐