Cod*_*ter 13 dart flutter flutter-layout
使用以下代码时收到警告,但我的应用程序运行良好:
???????? Exception caught by rendering library ?????????????????????????????????????????????????????
The following assertion was thrown during paint():
A borderRadius can only be given for uniform borders.
'package:flutter/src/painting/box_border.dart':
Failed assertion: line 510 pos 12: 'borderRadius == null'
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
Container(
height: screenSize.height*.13,
width: AppSize.medium,
decoration: BoxDecoration(
color: Colors.red,
border: Border(
right: BorderSide(
width: 1.0,
color: Colors.blue
),
),
borderRadius: BorderRadius.only(
topRight: Radius.circular(AppSize.small),
bottomRight: Radius.circular(AppSize.small),
)
),
)
Run Code Online (Sandbox Code Playgroud)
ehs*_*eha 15
这是我能想到的最简单的方法……正如你所看到的,有 2 个容器,外部容器的颜色实际上是边框的颜色,内部容器的边距是边框的 strokeWidth 和内部容器是背景色。
Container(
decoration: BoxDecoration(
color: Colors.grey[400],
borderRadius: BorderRadius.only(
topLeft: const Radius.circular(15.0),
topRight: const Radius.circular(15.0),
),// BorderRadius
),// BoxDecoration
child: Container(
margin: const EdgeInsetsDirectional.only(start: 2, end: 2, top: 2),
decoration: BoxDecoration(
color: Colors.grey[300],
borderRadius: BorderRadius.only(
topLeft: const Radius.circular(13.0),
topRight: const Radius.circular(13.0),
),// BorderRadius
),// BoxDecoration
),// Container
),// Container
Run Code Online (Sandbox Code Playgroud)
这是一个有点愚蠢的答案,但有效!;)
Flutter 抱怨是因为您只对容器应用了右边框,但也希望有一个边框半径。
当应用边框半径时,Flutter 期望边框是统一的,即一直围绕并使用相同的颜色。如果您跳转到引发断言错误的来源,您可以查看实际的断言。
小智 5
Container(
decoration: new BoxDecoration(
gradient: new LinearGradient(
stops: [0.02, 0.02],
colors: [Colors.red, Colors.white]
),
borderRadius: new BorderRadius.all(const Radius.circular(6.0))))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9352 次 |
最近记录: |