问题描述
不知道我在这里想念的是什么。希望使容器UI类似于“材料填充文本”字段。只想知道我们是否可以将BorderSide和borderRadius一起使用,或者它们可以分开工作。而且仅使用Container该如何实现?
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);
}
}
解决方法
我认为Flutter无法处理这种配置。
您正在应用容器的底部边框,以及边框半径。
阅读这篇文章:A borderRadius can only be given for uniform borders
也请阅读:Add border to a Container with borderRadius in Flutter
在第二篇文章中,您可能会找到一种实现所需内容的方法。