调整Flutter FloatingActionButton的大小

时间:2019-05-22 15:05:07

标签: dart flutter-layout

我不知道如何在列表中的第一个Container中减小FAB的大小。无论我尝试什么,它似乎都想占用整个容器。香港专业教育学院甚至尝试了一个容器中的一个容器。整个橙色区域是可单击的。我尝试了SizedBox,结果相同。这是代码。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final title = 'Horizontal List';

    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(
          title: Text(title),
        ),
        body: Container(
          margin: EdgeInsets.symmetric(vertical: 20.0),
          padding: EdgeInsets.all(30),
          height: 200.0,
          child: ListView(
            scrollDirection: Axis.horizontal,
            children: <Widget>[
              Container(
                width: 160,
                color: Colors.yellowAccent,
                child: SizedBox(
                  height: 50,
                  width: 50,
                  child: FittedBox(
                    child: FloatingActionButton(
                      backgroundColor: Colors.deepOrange,
                      foregroundColor: Colors.indigo,
                      child: Icon(Icons.add, size: 20),
                      onPressed: () {},
                    ),
                  ),
                ),
              ),
              Container(
                width: 160.0,
                color: Colors.red,
              ),
              Container(
                width: 160.0,
                color: Colors.blue,
              ),
              Container(
                width: 160.0,
                color: Colors.green,
              ),
              Container(
                width: 160.0,
                color: Colors.yellow,
              ),
              Container(
                width: 160.0,
                color: Colors.orange,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

enter image description here

1 个答案:

答案 0 :(得分:1)

我有2个样本。并且,请参考Basic Widgets了解更多详情。

  1. 使用容器的边距。请参考以下代码:
    child: SizedBox(
      height: 50,
      width: 50,
      child: Container(
        margin: EdgeInsets.only(left:80.0, top:80.0, bottom: 10.0) ,
        child:  FloatingActionButton(
          backgroundColor: Colors.deepOrange,
          foregroundColor: Colors.indigo,
          child: Icon(Icons.add),
          onPressed: () {},
        ),
      ),
    ),
  1. 使用行或列。请参考以下代码:
    child: SizedBox(
      height: 50,
      width: 50,
      child: Row(
        mainAxisAlignment: MainAxisAlignment.end,
        children: <Widget>[ FloatingActionButton(
          backgroundColor: Colors.deepOrange,
          foregroundColor: Colors.indigo,
          child: Icon(Icons.add),
          onPressed: () {},
        ),
      ]),
    ),