如何在Column中更改子窗口小部件的位置?

伊斯兰阿赫拉罗夫

我需要更改小部件在UI中的位置。但是我无法实现。

我尝试了此代码,但对我不起作用。如果有人知道该怎么做,请帮忙。

将BankCard小部件的位置更改为另一个BankCard小部件,或将中的任何小部件的位置更改Column

您可以在下面找到我尝试过的代码:

Widget nonNullBody(List<GetConversionCards> cards) {
    _column=Column(
      mainAxisSize: MainAxisSize.min,
      children: [
        Text(
          "fromSum".tr(),
          style: TextStyle(
              fontSize: 16, fontWeight: FontWeight.w700),
          textAlign: TextAlign.left,
        ),
        Padding(
          padding: const EdgeInsets.all(8.0),
          child: BankCard(
              card: Bank.CreditCardModel.fromUzCard(
                  cards[bloc.selectedIndex.value])),
        ),
        IconButton(
          icon: Icon(Icons.sync),
          onPressed: () {


            _key.currentState.setState(() {
              Widget t=_column.children[0];
              _column.children[0]=_column.children[3];
              _column.children[3]=t;
            });
          },
        ),
        Text("toVisa".tr(),
            style: TextStyle(
                fontSize: 16,
                fontWeight: FontWeight.w700),
            textAlign: TextAlign.left),
        Padding(
          padding: const EdgeInsets.all(8.0),
          child: BankCard(
              card: Bank.CreditCardModel.fromVisaCard(
                  cards[bloc.selectedIndex.value])),
        ),
      ],);
    bloc.tokenCardUzs = cards[0].uzsCardId;
    final size = MediaQuery.of(context).size;
    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 20),
      child: SingleChildScrollView(
        child: Container(
          height: size.height - appBar().preferredSize.height + 5,
          child: Column(
            mainAxisSize: MainAxisSize.min,
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisAlignment: MainAxisAlignment.start,
            children: [
              Container(
                height: 30,
                child: ValueListenableBuilder(
                    valueListenable: bloc.selectedIndex,
                    builder: (context, v, w) {
                      return ListView.builder(
                          scrollDirection: Axis.horizontal,
                          shrinkWrap: true,
                          itemCount: cards.length,
                          itemBuilder: (context, index) {
                            return Container(
                              width: 8.0,
                              height: 8.0,
                              margin: EdgeInsets.symmetric(
                                  vertical: 12.0, horizontal: 2.0),
                              decoration: BoxDecoration(
                                  shape: BoxShape.circle,
                                  color: bloc.selectedIndex.value == index
                                      ? Color.fromRGBO(0, 0, 0, 0.9)
                                      : Color.fromRGBO(0, 0, 0, 0.4)),
                            );
                          });
                    }),
              ),
              Flexible(
                fit: FlexFit.loose,
                flex: 5,
                child: PageView.builder(
                    scrollDirection: Axis.horizontal,
                    itemCount: cards.length,
                    onPageChanged: (_) {
                      bloc.tokenCardUzs = cards[_].uzsCardId;
                      bloc.selectedIndex.value = _;
                    },
                    itemBuilder: (BuildContext context, int index) {
                      return StatefulBuilder(
                        key: _key,
                        builder: (BuildContext context,
                            void Function(void Function()) state) {
                          return _column; );
                    }),
              ),
              Flexible(
                child: TextFieldWidget(
                  controller: bloc.amountFieldController,
                  iconData: Icons.monetization_on,
                  validator: null,
                  hintText: "enterAmount".tr(),
                  labelText: "dollarCurrency".tr(),
                ),
              ),
              ConfirmButton(
                text: 'next'.tr(),
                onPressed: () {
                  showPopUp(context, () async {
                    Navigator.of(context, rootNavigator: true).pop();
                    waitTransactionWidget(context);

                    int usd =
                        (double.parse(bloc.amountFieldController.text) * 100)
                            .toInt();
                    bool result = await Repository.getInstance()
                        .convUzsUsd(bloc.tokenCardUzs, usd);
                    print("result conv $result");
                    Navigator.of(context, rootNavigator: true).pop();
                    Navigator.pushReplacement(
                        context,
                        PageTransition(
                            child: MyHomePage(),
                            type: PageTransitionType.fade));
                  },
                      title: Text("wouldYouLikeToExchange".tr()),
                      subtitle: Text("${bloc.amountFieldController.text} " +
                          "dollarCurrency".tr()));
                },
              ),
            ],
          ),
        ),
      ),
    );
  }

哈利尔特普克

我建议您创建一个包含小部件的列表,然后将其分配给Column的子级参数。因此,当您更改列表的某些内容时,它也会同时更改列。

像这样 :

  List<Widget> list = new List();

  @override
  Widget build(BuildContext context) {
    Column(
      children: list,
    );
  }

  adjustWidgetList() {
    setState(() {
      list.add(Text("lorem ipsum"));
      list.add(Text("dolar sit amet."));
            .
            .
            .
      list.remove(0);
    });

  }

但是不要忘记在setState内进行更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从父窗口小部件更改一个子窗口小部件的状态,而子窗口小部件是单独文件中的单独类?

来自分类Dev

如何在主窗口的中心位置打开QDialog小部件

来自分类Dev

如何在动态窗口小部件中获取QGraphicsView的正确位置,宽度和高度

来自分类Dev

如何在QT的布局中列出子窗口小部件的列表?

来自分类Dev

如何在Qt中更改窗口标题和中央小部件?

来自分类Dev

如何使用 kivy 中的弹出窗口小部件更改屏幕?

来自分类Dev

如何在 JavaScript 博客小部件中更改帖子标题位置

来自分类Dev

如何通过在根窗口小部件中使用方法来更改子窗口小部件的属性?

来自分类Dev

如何在子小部件中禁用底部的SafeArea或更改其颜色?

来自分类Dev

如何在“文本”小部件中更改子文本的颜色(Python)

来自分类Dev

如何在python tkinter中重叠窗口小部件/框架?

来自分类Dev

如何在GTKSharp(MonoDevelop)中启用窗口小部件属性

来自分类Dev

Android:如何在Datepicker小部件中更改dateselector的颜色?

来自分类Dev

我如何在python中更改框架小部件的宽度

来自分类Dev

如何在KivyMD中更改小部件参数的值

来自分类Dev

如何在窗口小部件扩展中添加5个以上的窗口小部件?WidgetBundle的小部件的最大数量不能超过5

来自分类Dev

如何获取窗口小部件在屏幕中的位置(最好在“偏移”中)?

来自分类Dev

如何从自定义窗口小部件类更改中央窗口小部件?

来自分类Dev

如何在状态更改后强制窗口小部件重新创建自己?

来自分类Dev

如何更改窗口/表中现有scene2d.ui小部件的大小?

来自分类Dev

Qt:育儿如何影响子窗口小部件的布局?

来自分类Dev

如何防止QSplitter完全隐藏子窗口小部件?

来自分类Dev

在Flutter中,如何在较大的屏幕尺寸上修复PopupMenuItem窗口小部件中的截断文本?

来自分类Dev

如何在JSF 2.0中的复合容器中嵌入多个复合(窗口小部件)?

来自分类Dev

如何每秒更新容器窗口小部件中的标签窗口小部件

来自分类Dev

GWT:如何在UI活页夹中重新初始化窗口小部件,以丢弃其生命周期中获得的所有更改?

来自分类Dev

如何在窗口小部件提供程序的onReceive方法中更新TextView

来自分类Dev

如何在bokeh python中捕获下拉窗口小部件的值?

来自分类Dev

如何在Qt中的弹出窗口小部件上创建平滑的圆角

Related 相关文章

  1. 1

    如何从父窗口小部件更改一个子窗口小部件的状态,而子窗口小部件是单独文件中的单独类?

  2. 2

    如何在主窗口的中心位置打开QDialog小部件

  3. 3

    如何在动态窗口小部件中获取QGraphicsView的正确位置,宽度和高度

  4. 4

    如何在QT的布局中列出子窗口小部件的列表?

  5. 5

    如何在Qt中更改窗口标题和中央小部件?

  6. 6

    如何使用 kivy 中的弹出窗口小部件更改屏幕?

  7. 7

    如何在 JavaScript 博客小部件中更改帖子标题位置

  8. 8

    如何通过在根窗口小部件中使用方法来更改子窗口小部件的属性?

  9. 9

    如何在子小部件中禁用底部的SafeArea或更改其颜色?

  10. 10

    如何在“文本”小部件中更改子文本的颜色(Python)

  11. 11

    如何在python tkinter中重叠窗口小部件/框架?

  12. 12

    如何在GTKSharp(MonoDevelop)中启用窗口小部件属性

  13. 13

    Android:如何在Datepicker小部件中更改dateselector的颜色?

  14. 14

    我如何在python中更改框架小部件的宽度

  15. 15

    如何在KivyMD中更改小部件参数的值

  16. 16

    如何在窗口小部件扩展中添加5个以上的窗口小部件?WidgetBundle的小部件的最大数量不能超过5

  17. 17

    如何获取窗口小部件在屏幕中的位置(最好在“偏移”中)?

  18. 18

    如何从自定义窗口小部件类更改中央窗口小部件?

  19. 19

    如何在状态更改后强制窗口小部件重新创建自己?

  20. 20

    如何更改窗口/表中现有scene2d.ui小部件的大小?

  21. 21

    Qt:育儿如何影响子窗口小部件的布局?

  22. 22

    如何防止QSplitter完全隐藏子窗口小部件?

  23. 23

    在Flutter中,如何在较大的屏幕尺寸上修复PopupMenuItem窗口小部件中的截断文本?

  24. 24

    如何在JSF 2.0中的复合容器中嵌入多个复合(窗口小部件)?

  25. 25

    如何每秒更新容器窗口小部件中的标签窗口小部件

  26. 26

    GWT:如何在UI活页夹中重新初始化窗口小部件,以丢弃其生命周期中获得的所有更改?

  27. 27

    如何在窗口小部件提供程序的onReceive方法中更新TextView

  28. 28

    如何在bokeh python中捕获下拉窗口小部件的值?

  29. 29

    如何在Qt中的弹出窗口小部件上创建平滑的圆角

热门标签

归档