Flutter — установить фоновое изображение
В этой статье мы собираемся реализовать, как установить фоновое изображение в теле скаффолда. Образец изображения приведен ниже, чтобы получить представление о том, что мы собираемся делать в этой статье.
Пошаговая реализация
Шаг 1. Создайте новый проект в Android Studio.
Чтобы настроить Flutter Development в Android Studio, обратитесь к разделу «Настройка Android Studio для разработки Flutter», а затем создайте новый проект в Android Studio, обратитесь к разделу «Создание простого приложения во Flutter».
Шаг 2: Импорт пакета материалов
Добавление пакета материалов , который дает нам возможность использовать важный метод и вызывает метод runApp в основной функции, которая будет вызывать наше приложение.
import "package:flutter/material.dart";
void main() {
runApp(RunMyApp());
}Шаг 3: Создайте класс RunMyApp , который не будет иметь состояния, потому что никаких изменений не требуется. Это также возвращает виджет MaterialApp, который предоставляет компоненты материала для создания флаттер-приложения.
class RunMyApp extends StatelessWidget {
const RunMyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(primarySwatch: Colors.green),
debugShowCheckedModeBanner: false,
home:
);
}
}Шаг 4: Создание виджета Scaffold
Дайте свойство home , и может появиться виджет скаффолда со свойствами AppBar и body . AppBar позволяет нам указать заголовок AppBar, цвет, начальный и конечный значок. тело принимает виджет DecoratedBox , который далее принимает изображение и дочернее свойство.
home: Scaffold(
appBar: AppBar(
title: Text("Set Background Image"),
),
body: DecoratedBox(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("images/img.png"), fit: BoxFit.cover),
),
child: Center(
child: FlutterLogo(
size: 200,
)),
),
),У виджета «Украшенная коробка» есть декорация и дочерние свойства. украшение далее берет BoxDecoration и берет изображение актива.
Окончательный код
Dart
import "package:flutter/material.dart"; void main() { // main method thats // run the RunMyApp runApp(RunMyApp()); } class RunMyApp extends StatelessWidget { const RunMyApp({super.key}); @override Widget build(BuildContext context) { // materialApp with debugbanner false return MaterialApp( // theme of the app theme: ThemeData(primarySwatch: Colors.green), debugShowCheckedModeBanner: false, // scaffold with app home: Scaffold( // appbat sets the title of the app appBar: AppBar( title: Text("Set Backgound Image"), ), // Decoratedbox which takes the // decoration and child property body: DecoratedBox( // BoxDecoration takes the image decoration: BoxDecoration( // Image set to backgroud of the body image: DecorationImage( image: AssetImage("images/img.png"), fit: BoxFit.cover), ), child: Center( // flutter logo that will shown // above the backgroud image child: FlutterLogo( size: 200, )), ), ), ); }} |
Выход
Показано фоновое изображение с логотипом флаттера над ним.