以为很简单,showDialog,里面再使用Dialog就行,结果Dialog有最小宽度限制,这个最小宽度比UI的宽度还要大,使用UnconstrainedBox又各种包裹Container还是不行,最终决定放弃Dialog,直接使用Container。
代码如下
showDialog(context: context, builder: (BuildContext context) {return UnconstrainedBox(//不加的话Container就算设置了宽高也会占据整个屏幕child: Container(width: 150,height: 150,decoration: BoxDecoration(color: const Color.fromARGB(200, 18, 18, 18),borderRadius: BorderRadius.circular(20),),child: Column(mainAxisSize: MainAxisSize.min,mainAxisAlignment: MainAxisAlignment.center,children: [const SizedBox(width: 40,height:40,child: CircularProgressIndicator(strokeWidth: 8,)), const SizedBox(height: 20), Text(S.current.logging_in,style: const TextStyle(color: Colors.white,fontSize: 16,decoration: TextDecoration.none//因为不是Material风格,Text文字下方带有两条黄色下划线的现象),), ],),),);},);