首页 > 解决方案 > 颤振容器消失

问题描述

不知道我在这里缺少什么。想让 Container UI 像 Material Filled Text Field 一样。只是想知道我们是否可以一起使用 BorderSide 和 borderRadius 或者它们分开工作。并且只使用容器我怎么能做到这一点?

import 'package:flutter/material.dart';

final Color darkBlue = Color.fromARGB(255, 18, 32, 47);

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Container(
            height: 50.0,
            width: 500.0,
            padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 2.0),
            decoration: BoxDecoration(
              border: Border(
                bottom: BorderSide(width: 2.0, color: Color(0xFFFF7F7F7F)),
              ),
              borderRadius: BorderRadius.only(
                topLeft: Radius.circular(2),
                topRight: Radius.circular(2),
              ),
              color: Color(0xFFBFBFBF),
            ),
            child: const Text('OK',
                textAlign: TextAlign.center,
                style: TextStyle(color: Color(0xFF000000))),
          ),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text('Hello, World!', style: Theme.of(context).textTheme.headline4);
  }
}

标签: flutterdartflutter-layoutflutter-containerflutter-canvas

解决方案


我认为颤振无法处理这种配置。

您正在容器中应用底部边框,以及边框半径。

阅读这篇文章:borderRadius 只能用于统一边界

另请阅读:在 Flutter 中向具有borderRadius 的容器添加边框

在第二篇文章中,您可能会找到一种方法来实现您正在寻找的东西。


推荐阅读