Изменить размер флаттера FloatingActionButton - PullRequest
0 голосов
/ 22 мая 2019

Я не могу понять, как уменьшить размер 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 Ответ

1 голос
/ 22 мая 2019

У меня есть 2 образца. И, пожалуйста, обратитесь Основные виджеты для более подробной информации.

  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: () {},
        ),
      ]),
    ),
...