flutter - 如何改变按钮主题的背景颜色,文本颜色和高度?

标签 flutter dart

我在我的项目中使用Button主题,无法更改backgroundcolor,text color,也无法降低button主题的高度,有人可以查看它。

这是我的代码:

Widget _signInButton() {


    return ButtonTheme(

     minWidth: 325,

      child: OutlineButton(
        splashColor: Colors.grey,
        onPressed: () {
          signInWithGoogle().whenComplete(() {
            Navigator.of(context).push(
              MaterialPageRoute(
                builder: (context) {
                  return FirstScreen();
                },
              ),
            );
          });
        },
        shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(40)),
        highlightElevation: 0,
        borderSide: BorderSide(color: Colors.grey),
        child: Padding(
          padding: const EdgeInsets.fromLTRB(0, 10, 0, 10),
          child: Row(
            mainAxisSize: MainAxisSize.min,
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Flexible(
                  flex: 1,
                  child: Image(image: AssetImage("Assets/google_logo.png"), height: 35.0)),
              Expanded(
                flex: 1,
                child: Padding(
                  padding: const EdgeInsets.only(left: 10),
                  child: Text(
                    'Sign in with Google',
                    style: TextStyle(
                      fontSize: 15,
                      color: Colors.grey,

最佳答案

尝试在height: 8.0中添加layoutBehavior:ButtonBarLayoutBehavior.constrainedButtonTheme
使用这些选项中的任何一个,您都可以调整按钮的高度和填充。

注意:可以根据需要调整高度值。我已将其设置为8.0

您可以在buttonColor中使用ButtonTheme属性来更改按钮的颜色。或子按钮中的color属性应该可以完成工作。

但是,由于您使用的是OutlineButton,因此它无法工作,因为它没有区域可以绘制颜色,它只有一个轮廓。

注意:
您应该将OutlineButton替换为RaisedButton

对于文本颜色,可以使用style小部件的Text属性。

一些示例代码如下:

ButtonTheme(
height: 8.0,
buttonColor: Colors.red,
child: RaisedButton(
         color: Colors.blue,
         child: Text(
           'Button',
           style: TextStyle(color: Colors.white),
          ),
          onPressed: () {},
       ),
)

关于flutter - 如何改变按钮主题的背景颜色,文本颜色和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59475441/

相关文章:

在呈现该数据的页面上持续轮询新数据的 Flutter 最佳实践?

android - StatefulWidget flutter 的这个小部件属性是什么

flutter - 带 flutter 的导航导轨

dart - Flutter - 如何访问父事件或 Action 的子数据

dart - 在 ListView 中向上滚动时,第一个项目不断重新渲染

dart - 如何在 Dart 中写入时处理用户输入

flutter - 添加嵌套的 map 值,如 Map<String,Map<String,String>>

list - 有什么方法可以在 Flutter 中处理应用程序状态中的列表?

websocket - DARTlang 获取客户端 IP

flutter - Future builder 没有获取数据