dart 将按钮与文本和图标对齐以从右侧开始

2uluyalo  于 2023-09-28  发布在  其他
关注(0)|答案(1)|浏览(124)

我正在创建一个在Android模拟器上运行的Flutter程序的一部分,但我对如何对齐这个按钮的位置从右边开始感到困惑,这样当按钮文本从“开始”变为“标记为完成”时,它就不会溢出屏幕。我曾尝试将MainAxisAlignment.end属性添加到Row中,使用textAlign对齐文本,甚至为Card背景使用可变大小,但似乎都不起作用。我希望就如何实现这一点提供一些指导。
以下是我的当前代码:

TextButton(                                        
                     style: ButtonStyle(                                                
                      shape: 
                           MaterialStateProperty.all<RoundedRectangleBorder> (                        
                              RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(24.0),
                        side: const BorderSide(color: Colors.black),
                      )),
                    ),
                    // ignore: avoid_print
                    onPressed: () => print("sdf"),
                    child: const Row(
                      mainAxisAlignment: MainAxisAlignment.start,
                      children: [
                        Padding(
                          padding: EdgeInsets.fromLTRB(2, 5, 10, 5),
                          child: Icon(
                            Icons.arrow_circle_right_outlined,
                            color: Color.fromRGBO(103, 80, 164, 1),
                            size: 24,
                          ),
                        ),
                        Padding(
                          padding: EdgeInsets.fromLTRB(0, 5, 10, 5),
                          child: Text(
                            "Start", //"Mark as Complete",
                            style: TextStyle(
                              color: Color.fromRGBO(103, 80, 164, 1),
                              fontSize: 14,
                              letterSpacing: 1.0,
                              fontFamily: "Roboto",
                              fontWeight: FontWeight.w500,
                            ),
                          ),
                        ),
                      ],
                    ),
                  ),
lrl1mhuk

lrl1mhuk1#

这就是我发现扩展小部件派上用场的地方。

Row(
    mainAxisAlignment: MainAxisAlignment.end,
    children: [
        Expanded(
          flex: 4, //whatever value you think it should be
          child: TextButton()],
        ),
)

或者你可以在你的文本按钮中使用环绕文字。

相关问题