#flutter
Вопрос:
Я пытаюсь сделать штрих-код над qr-кодом, и я хотел бы сделать их в одном контейнере, как мне его отредактировать?
Большое спасибо!
body: SafeArea( child: Center( child: Column( children: [ SizedBox( height: 50, child: SfBarcodeGenerator( value: 'www.syncfusion.com', ), ), Container( decoration: BoxDecoration( color: mFillColor, borderRadius: BorderRadius.circular(12), border: Border.all(color: mBorderColor, width: 1), ), margin: const EdgeInsets.only(left: 30, right: 30), width: double.infinity, height: 350, child: Padding( padding: const EdgeInsets.all(90.0), child: QrImage( data: 'This is a simple QR code', version: QrVersions.auto, gapless: false, ), ), ), ], ), ), ),
Комментарии:
1. Если вы имеете в виду одно из них вместо другого, используйте
Stack
.2. @huthaifa , я имею в виду не на передней панели, а внутри контейнера и над qr-кодом
3. опубликуйте фотографию того, как это выглядит сейчас и как вы хотите, чтобы это выглядело.
4. @HuthaifaMuayyad опубликовал
5. Я думаю, вам нужна стопка, попробуйте заменить это слово
column
наstack
. И измените порядок объектов в обратном порядке, поставьте штрих-код вторым.
Ответ №1:
Вот как вы выполняете эту задачу. Сначала вы создаете родителя Container
, а затем используете Column
виджет, который содержит два sizedBox
дочерних элемента: один для штрих-кода, а второй для QR-кода. Вот так просто
Scaffold( body: SafeArea( child: Container( height: 250, decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(12), border: Border.all(color: Colors.black, width: 1), ), margin: const EdgeInsets.all(30), width: double.infinity, child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ SizedBox( height: 50, child: SfBarcodeGenerator( value: 'www.syncfusion.com', ), ), const Text( "2810 1102 0604 3155 4434 2047", style: TextStyle( color: Colors.grey, fontWeight: FontWeight.w500, ), ), SizedBox( height: 150, child: QrImage( data: 'This is a simple QR code', version: QrVersions.auto, gapless: false, ), ), const Text( "Any text here", style: TextStyle( color: Colors.grey, fontWeight: FontWeight.w500, ), ), ], ), ), ), )