Ako SpaceEvenly a Veľkosť dve položky v Rade?

0

Otázka

Snažím sa spaceevenly e Icon() a AutoSizeText() v Row(). Keď výška je dlho, ako môžete vidieť na priložených obrázkov robí, ako sa očakávalo, ale keď hodnota je nula alebo celkom krátke, AutoSizeText() je zarovnaný na stred, ale to spôsobuje, že v rovnakej vzdialenosti od hrany už nie je udržiavaná. Tam je extra vzdialenosť spôsobené centrovanie. Neviem, ako to opraviť.

Upraviť. Ak to nebolo jasné, mám na mysli ružové nákupní taška ikonu a množstvo ukázali v "Riepilogo Settimanale" časť. Ak sa pozriete v Reštaurácii Ikonu a jej výšku, si môžete všimnúť, ako sa nie sú v strede, sú bližšie k ľavému okraju.

orginal view

enter image description here

Container(
      decoration: BoxDecoration(
        color: Colors.white,
        borderRadius: BorderRadius.circular(20),
      ),
      width: size.width * 0.3,
      height: size.height,
      // height: size.height * 0.055,
      child: Row(
        children: [
          Spacer(),
          Expanded(
            flex: 3,
            child: Container(
              child: LayoutBuilder(
                builder: (context, constraint) {
                  return Icon(
                    icona,
                    color: colore,
                    size: constraint.biggest.width * 1,
                  );
                },
              ),
            ),
          ),
          Spacer(),
          Expanded(
            flex: 6,
            child: Center(
              child: AutoSizeText(
                importo,
                style: TextStyle(
                  fontSize: 20,
                  fontWeight: FontWeight.bold,
                  color: colore,
                ),
                maxLines: 1,
              ),
            ),
          ),
          Spacer(),
        ],
      ),
    )
android dart flutter flutter-layout
2021-11-23 20:16:17
1

Najlepšiu odpoveď

1

Ak som pochopil správne si chcete right-align text, nie center nich.

Na dosiahnutie tohto cieľa, zvážte použitie jedného Spacer() medzi ikona a text. Mimo riadkovanie (margin a padding) môže byť vykonané pomocou Padding widget miesto.

2021-11-24 00:29:45

Najprv som chcela mať správanie podobné priestor rovnomerne propery Riadku, chcel som rovnaký priestor medzi ľavého okraja-ikony, ikony, text, text-pravý okraj. Neviem, ako achive, že hoci, pretože text, ktorý chcete zmeniť veľkosť hneď, ako to zmeniť veľkosť, takže dištančné by mali byť schopné zmeniť veľkosť spôsobom. Rozhodol som sa, že bolo lepšie, len vpravo zarovnať text, ako si navrhol, dokonca aj ak to nie je to, čo som chcel, ale zdá sa, dôstojnej
iocomxda

@iocomxda, ach, ak by ste chceli mať rovnaký priestor v 3 medzery, môžete sa pokúsiť dať 3 Spacer() widgety na to. Ale texty (ktoré majú rôzne šírky) nebude zosúladiť so sebou na stránke (ako s $2666 a $0), tak right-align je najčastejší prístup.
user1032613

Ďakujem za milé vysvetlenie! Nevedel right-align bol najčastejšie prístup.
iocomxda

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................