Flutter改变材料3按钮形状

q8l4jmvw  于 2023-05-19  发布在  Flutter
关注(0)|答案(2)|浏览(149)

我最近将Flutter升级到了版本3.10,并将useMaterial3: true设置为默认值为true。
但我无法改变按钮的形状:

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        useMaterial3: true,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: FilledButton(
          style: FilledButtonTheme.of(context).style?.copyWith(
                  shape: const MaterialStatePropertyAll<RoundedRectangleBorder>(
                      RoundedRectangleBorder(
                borderRadius: BorderRadius.zero,
              ))),
          onPressed: () {},
          child: const Text("Click"),
        ),
      ),
    );
  }
}

我想要一个方形按钮(或任何自定义边框),但每次结果都是一样的:

**更新:**不添加按钮形状,与上面的截图相同。

ttvkxqim

ttvkxqim1#

因此,需要一个方形按钮,你只是删除按钮的形状属性,它可以导致碎片边缘按钮

tct7dpnv

tct7dpnv2#

只需覆盖所有状态的填充按钮的边框。

FilledButtonThemeData(
          style: ButtonStyle(
            shape: MaterialStateProperty.all(
              const RoundedRectangleBorder(
                borderRadius:
                    BorderRadius.all(Radius.circular(10)),
              ),
            ),
          ),

相关问题