我使用的是自定义底部导航栏,但似乎不适用于我的App中的模式。我怀疑它与该自定义窗口小部件中的堆栈类有关。活动TabItem始终位于模式之前,并覆盖其元素。我希望模式能够覆盖整个底部导航。
我尝试将堆栈溢出中的设置设置为可见,但对我而言不起作用。而且,我尝试将Stack更改为Row / Column,也将SizedBox更改为Container并没有让我感到高兴。我尝试将IndexedStack与索引0结合使用,并将应用中所有模式的index设置为2。
builder: (context) => IgnorePointer(
child: AnimatedAlign(
duration: Duration(milliseconds: ANIM_DURATION),
curve: Curves.easeOut,
alignment: Alignment(_circleAlignX, 1),
child: Padding(
padding: const EdgeInsets.only(bottom: 15),
child: FractionallySizedBox(
widthFactor: 1 / widget.tabs.length,
child: null
child: Stack(
alignment: Alignment.center,
children: <Widget>[
SizedBox(
height: CIRCLE_SIZE + CIRCLE_OUTLINE + SHADOW_ALLOWANCE,
width: CIRCLE_SIZE + CIRCLE_OUTLINE + SHADOW_ALLOWANCE,
child: ClipRect(
clipper: HalfClipper(),
child: Container(
child: Center(
child: Container(
width: CIRCLE_SIZE + CIRCLE_OUTLINE,
height: CIRCLE_SIZE + CIRCLE_OUTLINE,
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.circle,
boxShadow: [
BoxShadow(
color: Colors.black12,
blurRadius: 8)
])),
),
)),
),
SizedBox(
height: ARC_HEIGHT,
width: ARC_WIDTH,
child: CustomPaint(
painter: HalfPainter(barBackgroundColor),
)),
SizedBox(
height: CIRCLE_SIZE,
width: CIRCLE_SIZE,
child: Container(
decoration: BoxDecoration(
shape: BoxShape.circle, color: circleColor),
child: Padding(
padding: const EdgeInsets.all(0.0),
child: AnimatedOpacity(
duration:
Duration(milliseconds: ANIM_DURATION ~/ 5),
opacity: _circleIconAlpha,
child: Icon(
activeIcon,
color: activeIconColor,
),
),
),
),
)
],
),
),
),
),
),
);
活动按钮不应在模式上可见,我想这全是关于使用堆栈的。