Flutter中如何将ElevatedButton定位到右侧?相关属性与组件咨询
你的代码中按钮居中是因为Column组件默认的crossAxisAlignment属性为CrossAxisAlignment.center,会让所有子组件横向居中。以下两种方法可以实现按钮靠右:
方法一:修改 Column 的对齐方式
给Column添加crossAxisAlignment: CrossAxisAlignment.end,让所有子组件横向靠右:
Padding( padding: const EdgeInsets.all(10.0), child: Container( child: Column( crossAxisAlignment: CrossAxisAlignment.end, // 新增该行 children: [ ElevatedButton( style: ElevatedButton.styleFrom( primary: Colors.blue, padding: EdgeInsets.symmetric(horizontal: 30, vertical: 15), ), onPressed: () {}, child: Text( 'Projects', style: TextStyle( fontSize: 20.0, ), ), ), SizedBox( height: 50.0, ), ], ), ), ),
方法二:用 Align 单独包裹按钮
如果只想让这个按钮靠右,其他子组件保持原对齐方式,用Align组件包裹按钮并设置对齐方向:
Padding( padding: const EdgeInsets.all(10.0), child: Container( child: Column( children: [ Align( alignment: Alignment.centerRight, // 设置靠右对齐 child: ElevatedButton( style: ElevatedButton.styleFrom( primary: Colors.blue, padding: EdgeInsets.symmetric(horizontal: 30, vertical: 15), ), onPressed: () {}, child: Text( 'Projects', style: TextStyle( fontSize: 20.0, ), ), ), ), SizedBox( height: 50.0, ), ], ), ), ),
两种方法的区别:方法一会影响Column内所有子组件的横向对齐;方法二仅对被Align包裹的按钮生效,更灵活。
内容的提问来源于stack exchange,提问作者Fatima
相关产品推荐
相关产品推荐

