Flutter登录注册页面插件login_and_register_page的使用

Flutter登录注册页面插件login_and_register_page的使用

Installation(安装)

  1. 如果不存在juneflow项目,请按照此指南创建一个。
  2. 在juneflow项目的根目录打开终端,输入以下命令:
    june add login_and_register_page
    
  3. 通过输入以下命令启动项目:
    flutter run lib/app/_/_/interaction/view.blueprint/page/login_and_register_page/_/view.dart -d chrome
    

Screenshots(截图)

登录注册页面


完整示例Demo

以下是一个完整的示例代码,展示如何在Flutter项目中使用login_and_register_page插件。

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Login and Register Page Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: LoginPage(), // 使用登录页面
    );
  }
}

// 自定义登录页面
class LoginPage extends StatefulWidget {
  [@override](/user/override)
  _LoginPageState createState() => _LoginPageState();
}

class _LoginPageState extends State<LoginPage> {
  final TextEditingController _emailController = TextEditingController();
  final TextEditingController _passwordController = TextEditingController();

  void _onLoginPressed() {
    String email = _emailController.text;
    String password = _passwordController.text;

    // 这里可以添加登录逻辑
    print('Email: $email');
    print('Password: $password');
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('登录页面'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: [
            TextField(
              controller: _emailController,
              decoration: InputDecoration(labelText: '邮箱'),
            ),
            TextField(
              controller: _passwordController,
              obscureText: true,
              decoration: InputDecoration(labelText: '密码'),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _onLoginPressed,
              child: Text('登录'),
            ),
            SizedBox(height: 20),
            GestureDetector(
              onTap: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (context) => RegisterPage()),
                );
              },
              child: Text(
                '还没有账号?点击这里注册',
                style: TextStyle(color: Colors.blue, decoration: TextDecoration.underline),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

// 自定义注册页面
class RegisterPage extends StatefulWidget {
  [@override](/user/override)
  _RegisterPageState createState() => _RegisterPageState();
}

class _RegisterPageState extends State<RegisterPage> {
  final TextEditingController _nameController = TextEditingController();
  final TextEditingController _emailController = TextEditingController();
  final TextEditingController _passwordController = TextEditingController();

  void _onRegisterPressed() {
    String name = _nameController.text;
    String email = _emailController.text;
    String password = _passwordController.text;

    // 这里可以添加注册逻辑
    print('Name: $name');
    print('Email: $email');
    print('Password: $password');
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('注册页面'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: [
            TextField(
              controller: _nameController,
              decoration: InputDecoration(labelText: '用户名'),
            ),
            TextField(
              controller: _emailController,
              decoration: InputDecoration(labelText: '邮箱'),
            ),
            TextField(
              controller: _passwordController,
              obscureText: true,
              decoration: InputDecoration(labelText: '密码'),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _onRegisterPressed,
              child: Text('注册'),
            ),
            SizedBox(height: 20),
            GestureDetector(
              onTap: () {
                Navigator.pop(context);
              },
              child: Text(
                '已有账号?点击这里登录',
                style: TextStyle(color: Colors.blue, decoration: TextDecoration.underline),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

更多关于Flutter登录注册页面插件login_and_register_page的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter登录注册页面插件login_and_register_page的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


login_and_register_page 是一个 Flutter 插件,用于快速创建登录和注册页面。它提供了预定义的 UI 组件和布局,可以帮助开发者快速实现用户登录和注册功能。

安装插件

首先,你需要在 pubspec.yaml 文件中添加 login_and_register_page 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  login_and_register_page: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装插件。

使用插件

1. 导入包

在你的 Dart 文件中导入 login_and_register_page 包:

import 'package:login_and_register_page/login_and_register_page.dart';

2. 创建登录页面

你可以使用 LoginPage 类来创建一个登录页面。以下是一个简单的示例:

class MyLoginPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return LoginPage(
      onLogin: (String email, String password) {
        // 处理登录逻辑
        print('Email: $email, Password: $password');
      },
      onRegister: () {
        // 导航到注册页面
        Navigator.push(
          context,
          MaterialPageRoute(builder: (context) => MyRegisterPage()),
        );
      },
    );
  }
}

3. 创建注册页面

你可以使用 RegisterPage 类来创建一个注册页面。以下是一个简单的示例:

class MyRegisterPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return RegisterPage(
      onRegister: (String email, String password) {
        // 处理注册逻辑
        print('Email: $email, Password: $password');
      },
      onLogin: () {
        // 导航到登录页面
        Navigator.push(
          context,
          MaterialPageRoute(builder: (context) => MyLoginPage()),
        );
      },
    );
  }
}

4. 运行应用

在你的 main.dart 文件中,设置应用的初始页面为登录页面:

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Login and Register Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyLoginPage(),
    );
  }
}

自定义样式

login_and_register_page 插件允许你自定义页面的样式。你可以通过传递不同的参数来修改按钮颜色、背景颜色、字体样式等。

例如,自定义登录页面的样式:

LoginPage(
  onLogin: (String email, String password) {
    // 处理登录逻辑
    print('Email: $email, Password: $password');
  },
  onRegister: () {
    // 导航到注册页面
    Navigator.push(
      context,
      MaterialPageRoute(builder: (context) => MyRegisterPage()),
    );
  },
  buttonColor: Colors.green,
  backgroundColor: Colors.white,
  textColor: Colors.black,
);
回到顶部