[英]Flutter : align center a specific child in a Row Widget
我是一個新手,我正在嘗試編寫 UI Instagram 克隆,如何將輪播指示器與像這樣的Row()
父級對齊到中心
Stack(
alignment: Alignment.center,
children:[
buildIndicator(),
//Icon section
Row(
children:[
buildLeftIcons(),
buildRightIcon(),
],
),
],
),
結果我得到: ![最終結果][這個]
嘿,您可以在圖標和行之間的點之間使用 Spacer() children 。 間隔小部件自動采用額外的寬度,如下所示 -
Row(
children: [
Icon(),
Icon(),
Icon(),
Spacer(),
DotsIndicator(),
Spacer(),
],
),
這是Expanded
小部件和行的另一個示例,擴展將自動占用除圖標之外的其余寬度
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Icon(),
Icon(),
Icon(),
Expanded(
child: Center(
child: DotsIndicator(),
)
),
],
),
// 帶有左右圖標的 UI
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Icon(),
Icon(),
Icon(),
Expanded(
child: Center(
child: DotsIndicator(),
)
),
Icon(),
],
),
在該行中,您可以在范圍內提供一個SizedBox(width: )
以將特定小部件推送一定距離。
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
///put favourite,comment,send icon here
],
),
///put yor indicator widget here
Indicator(),
///add an empty container here
Container()
],
)
這樣做會有點復雜,但我有兩個建議:
Row()
的MainAxisAlignment.start
然后在第一個小部件和指示器之間添加所需的小部件,以提供空間,例如SizedBox(width:80.0)
Column()
分隔兩個小部件。 我更喜歡這個,因為我只是將輪播指示器添加為列中的第一項,然后將其包裝在Center()
小部件中,然后列中的第二個小部件將是您想要的小部件(收藏夾、消息和評論圖標)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.