我使用的是flatter,我想给一个小部件添加一个边框(在本例中是Text
widget)。
我尝试了TextStyle
和Text
,但没有看到如何添加边框。
最好的方法是使用BoxDecoration()
有利条件
缺点
框装饰
只与容器
小部件一起使用,所以您想将您的小部件包装在容器()
实例
Container(
margin: EdgeInsets.all(10),
padding: EdgeInsets.all(10),
alignment: Alignment.center,
decoration: BoxDecoration(
color: Colors.orange,
border: Border.all(
color: Colors.pink[800], // Set border color
width: 3.0), // Set border width
borderRadius: BorderRadius.all(
Radius.circular(10.0)), // Set rounded corner radius
boxShadow: [BoxShadow(blurRadius: 10,color: Colors.black,offset: Offset(1,3))] // Make rounded corner of border
),
child: Text("My demo styling"),
)
下面是一个扩展的答案。DecoratedBox
是您需要添加边框的地方,但是我使用了容器
来方便添加边距和填充。
这里是一般的设置。
Widget myWidget() {
return Container(
margin: const EdgeInsets.all(30.0),
padding: const EdgeInsets.all(10.0),
decoration: myBoxDecoration(), // <--- BoxDecoration here
child: Text(
"text",
style: TextStyle(fontSize: 30.0),
),
);
}
其中框装饰
为
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(),
);
}
它们的边框宽度分别为1
、3
和10
。
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(
width: 1, // <--- border width here
),
);
}
它们的边框颜色是
Colors.red
Colors.blue
Colors.green
代码
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(
color: Colors.red, // <--- border color
width: 5.0,
),
);
}
这些有边界的一面
代码
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border(
left: BorderSide( // <--- left side
color: Colors.black,
width: 3.0,
),
top: BorderSide( // <--- top side
color: Colors.black,
width: 3.0,
),
),
);
}
它们的边界半径分别为5
、10
和30
。
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(
width: 3.0
),
borderRadius: BorderRadius.all(
Radius.circular(5.0) // <--- border radius here
),
);
}
DecoratedBox
/BoxDecoration
非常灵活。阅读颤振 — BoxEdition备忘单提供更多想法。
您可以将文本
作为子项
添加到具有框饰
和边框
属性的容器
:
Container(
margin: const EdgeInsets.all(15.0),
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Colors.blueAccent)
),
child: Text('My Awesome Border'),
)
我做了一个简单的加速度计应用程序,我想做一个配套的小部件。但是每次向widgetprovider添加传感器时,都会出现以下错误: 07-25 10:31:01.337:E/AndroidRuntime(8908):致命异常:main 07-25 10:31:01.337:E/AndroidRuntime(8908):java.lang.RuntimeException:无法启动接收器com.exa
我是第一次开发颤振应用程序。。我在添加图像时遇到问题。我有以下问题: 在哪里创建图像文件夹? 在哪里添加资产标签pubspec.ymal? 这需要任何资产文件夹吗? 我所尝试的: 在pubspec内部。ymal: 完整文件: 错误日志: 我的主菜。dart代码: 我指的是这个教程https://flutter.io/tutorials/layout/ 此外,我想问,有没有在颤振清洁重建的工具,因为
我想将颤振小部件与其父部件对齐。我知道我可以通过将小部件包装在中心小部件中来将其居中。 但我如何将其与右侧、底部、顶部中间等对齐? 笔记: 我说的是一个孩子,而不是一行或一列中的多个孩子。见以下问题: 对齐行小部件中的文本小部件 颤振|右对齐不工作 这一条是正确的,但我试图提出一个更尖锐的问题: 如何在Flatter中左对齐OutlineButton图标
我正在创建一个测验应用程序,需要根据特定问题的选项数量动态显示mcq选项。 例如: 现在按钮的代码如下: 如你所见,我能做的就是“修复”2个按钮。有没有一种方法可以根据特定问题的选项数量动态添加按钮? 我有一个名为
我试图在屏幕中间构造一个窗口小部件。我没有使用pos_hint或size_hint,因为我将在以后更改小部件的位置,但是当我构建小部件时,它的大小和位置不正确。这是我的密码: 为什么小部件的大小不等于窗口大小的十分之一,为什么它的中心在窗口的右上角?
我想在布局底部添加边框。我知道我可以使用可组合,但我只想学习如何绘制边框。 目前,我可以为所有侧面添加边框,这不是我想要的