2

ボトムバーを表示するためにhttps://pub.dev/packages/persistent_bottom_nav_barパッケージを使用しています。ボトムバータブの1つが押されたときに、ボトムシートを開く必要があります。showModalBottomSheet を使用してボトムシートを表示することができましたが、問題は既存のボトムバーを覆っていることです。画面の下からではなく、下のバーの上に下のシートを開く必要があります。これが私が達成したいことです。

ここに画像の説明を入力

そのため、コンテナと下マージンを指定して showGeneralDialog を使用して表示することができました。以下は私の解決策です。

showGeneralDialog(
        barrierLabel: AppLocalizations.of(context).translate(LanguageConstant.more),
        barrierDismissible: true,
        barrierColor: Colors.grey.withOpacity(0.1),
        transitionDuration: Duration(milliseconds: 100),
        context: context,
        pageBuilder: (dialogContext, anim1, anim2) {
          return Align(
            alignment: Alignment.bottomCenter,
            child: Container(
              margin: EdgeInsets.only(bottom: CommonConstants.BOTTOM_BAR_HEIGHT, top: MediaQuery.of(context).size.height/2, left: 0, right: 0),
              decoration: BoxDecoration(
                  color: Theme.of(context).colorScheme.surface,
                  border: Border.all(width: 0.5,color: ColorConstants.blackShade3),
              ),
              child: <Your child widgets>,
            ),
          );
        },
        transitionBuilder: (dialogContext, anim1, anim2, child) {
          return SlideTransition(
            position: Tween(begin: Offset(0, 1), end: Offset(0, 0)).animate(anim1),
            child: child,
          );
        },
      );
4

0 に答える 0