Flutter: CheckboxListTile удаляет отступы по умолчанию - PullRequest
1 голос
/ 18 февраля 2020

Я пытаюсь удалить этот отступ вокруг моей строки CheckboxListTiles, но не нашел никакой информации о том, как это сделать, не создав собственную версию флажка.

enter image description here

Есть ли способ (с помощью CheckboxListTile):

  1. Удалить (синий) левый и правый отступ CheckboxListTile
  2. Увеличение ширины текстовой области (я пробовал sizebox, контейнеры и т. д. c без удачи)

1 Ответ

0 голосов
/ 18 февраля 2020

Существует несколько способов:

  1. Создать стек и установить флажки с виджетом Positioned (в основном, это ваш собственный вариант CheckboxListTile)
  2. Скопировать код виджета флажка флаттера в свой собственный файл (custom_checkbox.dart), найдите часть, в которую они добавили отступ / поле, установите его на 0. 3)
  3. Попробуйте другие пакеты флажков, существующие на pub.dev, такие как flare_checkbox или round_chekbox.

Все эти подходы имеют свои преимущества и недостатки, как вы можете себе представить.

Редактировать

Я создал для вас плитку со списком пользовательских флажков, где отступы намного меньше.

import 'package:flutter/material.dart';

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

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Container(
          color: Colors.grey,
          child: Row(
            mainAxisSize: MainAxisSize.min,
            children: [
            checkboxTile('Charger'),
            checkboxTile('Bag'),
            checkboxTile('Mouse'),
          ]),
        ),
      ),
    );
  }

  Widget checkboxTile(String title) {
    return Row(children: [
      Text(title),
      Checkbox(value: true, onChanged: (v) => null),
    ]);
  }
}

Убедитесь, что преобразовали checkboxTile в виджет без состояния, если вы хотите использовать эту реализацию.

нажмите здесь, чтобы увидеть плитку со списком пользовательских флажков как изображение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...