Flutter 图片定位:如何将粉色背景图片调整至页面左上角?
实现方案
你当前的代码采用的是顺序排列的布局组件,两个图片元素会按照先后顺序依次排布,无法实现叠加+指定位置摆放的效果。你可以改用Stack组件搭配Positioned来实现需求,调整逻辑如下:
- 将原本包裹两个图片的父布局替换为
Stack组件,配置默认对齐规则为居中,保证logo图片正常居中展示 - 给需要放在左上角的粉色背景图片套上
Positioned组件,指定top: 0、left: 0将其固定在左上角位置 - 调整两个子组件的排序,粉色背景图放在列表首位,logo图片放在后方保证层级更高、展示在背景之上
修改后的代码示例如下:
children: <Widget> [ Stack( // 未指定定位的子元素默认居中对齐,保证logo正常居中展示 alignment: Alignment.center, fit: StackFit.loose, children: [ // 粉色背景图,定位到左上角 Positioned( top: 0, left: 0, child: Image.asset( "assets/top.png", fit: BoxFit.contain, ), ), // 居中的logo图片 SizedBox( height: 250, child: Image.asset( "assets/logo.png", fit: BoxFit.contain, ) ), ] ) ],
如果需要调整粉色背景图的具体位置,只需要修改Positioned的top、left参数的数值即可,也可以新增width、height参数调整背景图的尺寸。
内容的提问来源于stack exchange,提问作者Leonid Boskoski
相关产品推荐
相关产品推荐

