颤动更改AppBar内OutlineButton的高度?

Jus*_*s10 1 height button flutter

只是想知道我将如何更改高度OutlineButton?我想这也可能适用于其他按钮类型。

return Scaffold(
  appBar: AppBar(
    title: Text('Test'),
    actions: <Widget> [
      SizedBox(
        width: 100.0,
        height: 8.0,
        child: OutlineButton(
          borderSide: BorderSide(width: 4.0)
          child: Text('Hi'),
          onPressed: (){},
        ),
      ),
    ],
   ),
  body: Container(),
);
Run Code Online (Sandbox Code Playgroud)

我发现该按钮对于我的情况来说太高了约8像素,我想稍微压一下它。

Phu*_*ran 6

SizedBox应该做的工作。用SizedBox包装您的按钮。

从文档中:

如果给了孩子,则此小部件将强制其子级具有特定的宽度和/或高度(假定此小部件的父级允许使用值)。如果width或height为null,则此小部件将自行调整大小以匹配该维度中孩子的大小。如果未给孩子,则此小部件会将自身大小调整为给定的宽度和高度,并将null视为零。

这也适用于RaisedButton

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My Layout',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("SizedBox Demo"),
      ),
      body: new Center(
        child: new SizedBox(
          width: 200.0,
          height: 80.0,
          child: new OutlineButton(
              borderSide: BorderSide(width: 4.0),
              child: Text('I am a button'),
              onPressed: (() {})),
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

更新(2018/05/26):

如果您想降低AppBar内OutlineButton的高度,我认为您可以使用Padding

return Scaffold(
  appBar: AppBar(
    title: Text('Test'),
    actions: <Widget> [
      Padding(
        child: OutlineButton(
          borderSide: BorderSide(width: 4.0)
          child: Text('Hi'),
          onPressed: (){},
          padding: EdgeInsets.all(10.0),
        ),
      ),
    ],
   ),
  body: Container(),
);
Run Code Online (Sandbox Code Playgroud)