我想将颤振小部件与其父部件对齐。我知道我可以通过将小部件包装在中心小部件中来将其居中。
Center(
child: Text("widget"),
)
但我如何将其与右侧、底部、顶部中间等对齐?
笔记:
我说的是一个孩子,而不是一行或一列中的多个孩子。见以下问题:
这一条是正确的,但我试图提出一个更尖锐的问题:
您可以将定位
和对齐
与堆栈
小部件一起使用
堆栈允许您将元素堆叠在彼此的顶部,数组中的最后一个元素的优先级最高。您可以使用对齐
、定位
或容器
来定位堆栈的子级。
排列
通过使用具有静态属性(如topCenter、底部右侧等)的对齐
设置对齐来移动小部件。或者您可以完全控制并设置对齐(1.0,-1.0)
,其中x, y值范围从1.0到-1.0,(0,0)是屏幕的中心。
Stack(
children: [
MyWidget(),
Align(
alignment: Alignment.topCenter,
child: MyWidget(),
),
Container(
alignment: Alignment(-0.9, -0.9),
child: MyWidget(),
)
]
);
定位
作为对齐的替代方法,您可以相对于父窗口小部件定位子窗口小部件。
ConstrainedBox(
constraints: BoxConstraints.tight(Size(double.infinity, 256)),
child: Stack(
alignment: AlignmentDirectional.center,
children: <Widget>[
Positioned(
top: 0.0,
child: Icon(Icons.calendar_today,
size: 128.0, color: Colors.lightBlueAccent),
),
Positioned(
top: 4,
right: 110,
child: CircleAvatar(radius: 16, backgroundColor: Colors.red)),
],
),
)
Expanded(
child: Align(
alignment: Alignment.centerRight,
child: Text("widget"),
),
)
要在父窗口小部件中对齐子窗口小部件,请使用align
窗口小部件。如果您知道如何使用Center
小部件,那么您是正确的,因为Center
只是Align
的一个特例。
包装要与align小部件对齐的小部件,并设置其对齐属性。例如,这会将文本小部件与父窗口的右中对齐。
Align(
alignment: Alignment.centerRight,
child: Text("widget"),
)
其他选择包括
Alignment.top左
Alignment.top对
左lignment.center
lignment.center
一个lignment.center对
左lignment.bottom
一个lignment.bottom对
看起来是这样的:
您不仅限于这些位置。通过指定一个x, y对,其中(0,0)
是视图的中心,边缘是围绕它的1.0
单元。也许一张图片会有所帮助:
其中对于任何相对位置(x, y)
对齐。左上方是对齐(-1.0,-1.0)
对齐。topCenter
是对齐(0.0,-1.0)
对齐。右上角是对齐(1.0,-1.0)
对齐。中间偏左
是对齐(-1.0,0.0)对齐。中心是对齐(0.0,0.0)
对齐。中心右侧
是对齐(1.0,0.0)
对齐。左下
是对齐(-1.0,1.0)对齐。底部中心
是对齐(0.0,1.0)对齐。右下
是对齐(1.0,1.0)
请注意,在图像中对齐方式(x,y)
不需要在范围[-1,1]
内。对齐方式(1,2)
意味着它位于小部件的右侧,并且在小部件的下方是其高度的一半。
以下是html" target="_blank">自定义对齐位置的示例。
Align(
alignment: Alignment(0.7, -0.5),
child: Text("widget"),
)
这里是主菜单。省道
用于制作上述示例的代码,以方便剪切和粘贴。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(),
body: myLayoutWidget(),
),
);
}
}
Widget myLayoutWidget() {
return Align(
alignment: Alignment(0.7, -0.5),
child: Text(
"widget",
style: TextStyle(fontSize: 30),
),
);
}
我使用的是flatter,我想给一个小部件添加一个边框(在本例中是widget)。 我尝试了和,但没有看到如何添加边框。
问题内容: 我是HTML的新手,正在尝试学习如何使用表单。 到目前为止,我最大的问题是对齐表格。这是我当前的HTML文件的示例: 问题在于,“电子邮件”后的字段框与名字和姓氏相比在空格方面有很大不同。使其真正“排队”的“正确”方法是什么? 我正在尝试练习良好的格式和语法…很多人可能不确定使用CSS来做到这一点,到目前为止,我仅了解HTML的基本知识。 问题答案: 另一个使用CSS的示例,我只是将表
我试图在一个div中放两个跨度,每边一个,都与div的底部对齐,而不使用绝对定位(因为这忽略了填充等,我总是在使用它后感觉不好)。右跨度中的文本比左跨度中的文本高。如果我使用垂直对齐来定位它们,如果它们都是浮动的,就不会受到影响,但是如果它们都没有浮动,它们就不会正确地水平对齐。我不能保证两个跨度中的哪一个会有更多的文本。 http://jsfiddle.net/gsvfn07f/
问题内容: 我需要居中对齐水平菜单。 我尝试了各种解决方案,包括/ / 等等的组合,但是没有成功。 这是我的代码: 更新 我知道如何中心对齐的内部。可以使用Sarfraz的建议来完成。但是列表项仍然浮动在内。 我需要Java语言来完成此操作吗? 问题答案: 前提很简单,基本上只涉及一个无宽度的浮动包装,该浮动包装浮动到左侧,然后从屏幕上移到左侧的宽度位置。左:-50%。接下来,将嵌套的内部元素反转
我试图用Swing在Java中创建一个表单,但我在管理布局方面遇到了困难。 我想在对话框的中心有几个带标签的文本字段,在右下角有“保存”和“关闭”按钮。 将按钮添加到对话框右下角很简单,但我不确定如何将文本字段居中对齐。我想,如果没有中心组件方法,那么我可能可以通过计算对话框窗口的中心,然后在对话框重新调整大小时更新位置来对齐字段。但我对swing还不熟悉,我不知道该怎么做(或者这是否是个好主意)
问题内容: 我有一张表格,其中一列包含十进制数字。我希望以类似于文字处理器的“十进制制表符”功能的方式对齐它们,以便所有点都位于一条垂直线上。 我目前有两种可能的解决方案,但我希望有更好的解决方案… 解决方案1:在HTML中拆分数字,例如 与 (是的,此解决方案不能完全按原样工作。但是,此概念是有效的。) 解决方案2:我发现提到 根据参考页,这是HTML4的一部分,但是在我必须使用的浏览器FF3.