1

我一直在尝试添加自定义图像作为我的应用程序的背景,但我做不到。如何将背景图像更改为下面登录页面的任何我想要的颜色,而不是颜色:

import 'package:flutter/material.dart';
import 'package:flutter_login/flutter_login.dart';

class LoginScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: FlutterLogin(
      title: 'Test',
      logo: 'assets/images/ecorp.png',
      onLogin: (_) => Future(null),
      onSignup: (_) => Future(null),
      onSubmitAnimationCompleted: () {
        /*
        Navigator.of(context).pushReplacement(MaterialPageRoute(
          builder: (context) => DashboardScreen(),
        ));*/
      },
      onRecoverPassword: (_) => Future(null),
      messages: LoginMessages(
        usernameHint: 'Username',
        passwordHint: 'Pass',
        confirmPasswordHint: 'Confirm',
        loginButton: 'LOG IN',
        signupButton: 'REGISTER',
        forgotPasswordButton: 'Forgot Password',
        recoverPasswordButton: 'HELP ME',
        goBackButton: 'GO BACK',
        confirmPasswordError: 'Not match!',
        recoverPasswordSuccess: 'Password recovered successfully',
      ),
        theme: LoginTheme(
          primaryColor: Colors.red,
        ),
      ),
    );
  }
}
4

1 回答 1

0

FlutterLogin 类的 build 方法返回一个集成了 Scaffold 的 MultiProvider。

我通过设置实现了透明度scaffoldBackgroundColor: Colors.transparent

代码片段:

@override 
Widget build(BuildContext context) {
  return MaterialApp(
    theme: ThemeData(
      scaffoldBackgroundColor: Colors.transparent,
    ),
    home: Scaffold(
      extendBodyBehindAppBar: true,
      body: Container(
        decoration: BoxDecoration(
          image: DecorationImage(
            image: AssetImage("assets/background.jpg"),
            fit: BoxFit.cover,
          ),
        ),
        child: FlutterLogin(
          logo: "assets/logo.png",
          onLogin: _signIn,
          onSignup: _registerUser,
          onRecoverPassword: (_) => null,
          title: "AppName",
          theme: LoginTheme(
                pageColorLight: Colors.transparent,
                pageColorDark: Colors.transparent,
          ),
        ),
      ),
    ),
  );
}
于 2020-12-12T20:31:15.567 回答