android 如何在Flutter中将Gridview.count()中的最后一个小部件居中?

imzjd6km  于 2022-12-02  发布在  Android
关注(0)|答案(1)|浏览(221)

在我的应用中,我在Gridview.count()中以纵向模式将小部件分为两列:

并且它在横向模式下变成三列:

我希望最后一个小部件在纵向和横向模式下都位于中心
下面是Gridview.count()的代码:

SizedBox(
              height: context.isPortrait ? 660 : 610,
              child: GridView.count(
                shrinkWrap: true,
                padding:
                    context.isPortrait ? portraitPadding : landscapePadding,
                physics: const NeverScrollableScrollPhysics(),
                crossAxisCount: context.isPortrait ? 2 : 3,
                children: const [
                  Divisions(
                    image: '${kImagesPath}person.png',
                    title: 'ولي الأمر',
                  ),
                  Divisions(
                    image: '${kImagesPath}employing.png',
                    title: 'طلب توظيف',
                  ),
                  Divisions(
                    image: '${kImagesPath}links.png',
                    title: 'روابط عامة',
                  ),
                  Divisions(
                    image: '${kImagesPath}interview.png',
                    title: 'طلب مقابلة',
                  ),
                  Divisions(
                    image: '${kImagesPath}form.png',
                    title: 'نماذج',
                  ),
                  Divisions(
                    image: '${kImagesPath}calendar.png',
                    title: 'رزنامة العام',
                  ),
                  Divisions(
                    image: '${kImagesPath}call.png',
                    title: 'تواصل معنا',
                    // right: context.isPortrait ? -125 : -85,
                    // left: context.isPortrait ? -15 : -16,
                    // bottom: context.isPortrait ? -10 : 30,
                  ),
                ],
              ),
            )
htrmnn0y

htrmnn0y1#

在您的最后一个Divisions之前,您可以添加此
if (orientation == Orientation.landscape) Container(),
这个if语句检查您是否以纵向模式显示,然后在其左侧添加一个Container(),仅作为占位符。

相关问题