флаттер, как обернуть штрих-код и qr-код в один контейнер?

#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,  ),  ),  ],  ),  ),  ),  )  

Изображение