Flutter社交账号登录按钮插件social_auth_btn_kit的使用

发布于 1周前 作者 gougou168 来自 Flutter

Flutter社交账号登录按钮插件social_auth_btn_kit的使用

Flutter UI组件库social_auth_btn_kit为您的项目提供了符合各社交平台品牌指南的社交登录按钮。社交登录几乎已成为每个应用的一部分,此插件使添加这些按钮变得更加简单。

Screenshot

支持的平台

  • Facebook
  • Google
  • Apple

开始使用

首先,在您的项目中添加此依赖项:

flutter pub add social_auth_btn_kit

使用方法

Facebook

Facebook的品牌指南允许普通和轮廓两种按钮样式,可以通过variant参数传递FacebookTypeVariants枚举值。

enum FacebookTypeVariants {
  normal,
  outlined,
}

还可以通过theme参数配置主题变体:

enum FacebookThemeVariants {
  light,
  dark,
}

Google

Google的品牌指南支持三种主题按钮,可以通过theme参数传递GoogleThemeVariants枚举值。

enum GoogleThemeVariants {
  light,
  dark,
  neutral,
}

Apple

Apple按钮也根据其品牌指南增加了轮廓和深色支持。

SocialAuthBtn.facebook(
    variant: FacebookTypeVariants.outlined,
    onPressed: () {
        debugPrint("DEBUG: Facebook Btn Pressed");
    },
),

自定义按钮

您可以使用这些快速样式创建自己的按钮,只需将图标添加到您的资产文件夹并调用主构造函数即可。

SocialAuthBtn(
    onPressed: () {
        debugPrint("DEBUG: Instagram Btn Pressed");
    },
    icon: 'assets/instagram.png',
    text: 'Connect Instagram',
    borderSide: const BorderSide(),
),

示例Demo

以下是一个完整的示例demo,展示如何在Flutter应用中使用social_auth_btn_kit插件。

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

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Social Auth Btn Kit Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Social Auth Btn Kit Demo'),
        ),
        backgroundColor: Colors.white,
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: ListView(
            children: [
              Center(
                child: SocialAuthBtn.facebook(
                  variant: FacebookTypeVariants.outlined,
                  onPressed: () => debugPrint("DEBUG: Facebook Btn Pressed"),
                  loading: true,
                ),
              ),
              const SizedBox(height: 16),
              Center(
                child: SocialAuthBtn.facebook(
                  onPressed: () => debugPrint("DEBUG: Facebook Btn Pressed"),
                ),
              ),
              const SizedBox(height: 16),
              Center(
                child: SocialAuthBtn.facebook(
                  theme: FacebookThemeVariants.dark,
                  onPressed: () => debugPrint("DEBUG: Facebook Btn Pressed"),
                ),
              ),
              const SizedBox(height: 16),
              Center(
                child: SocialAuthBtn.google(
                  onPressed: () => debugPrint("DEBUG: Google Btn Pressed"),
                ),
              ),
              const SizedBox(height: 16),
              Center(
                child: SocialAuthBtn.apple(
                  onPressed: () => debugPrint("DEBUG: Apple Btn Pressed"),
                ),
              ),
              const SizedBox(height: 16),
              Center(
                child: SocialAuthBtn(
                  onPressed: () => debugPrint("DEBUG: Instagram Btn Pressed"),
                  icon: 'assets/instagram.png',
                  text: 'Connect Instagram',
                  borderSide: const BorderSide(),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

以上代码展示了如何在Flutter应用中集成和使用social_auth_btn_kit插件来实现各种社交平台的登录按钮。


更多关于Flutter社交账号登录按钮插件social_auth_btn_kit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter社交账号登录按钮插件social_auth_btn_kit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter项目中使用social_auth_btn_kit插件来实现社交账号登录按钮的示例代码。social_auth_btn_kit插件允许你轻松地在Flutter应用中集成各种社交账号的登录按钮。

首先,确保你已经在pubspec.yaml文件中添加了social_auth_btn_kit依赖:

dependencies:
  flutter:
    sdk: flutter
  social_auth_btn_kit: ^x.y.z  # 请将x.y.z替换为最新版本号

然后运行flutter pub get来安装依赖。

接下来,在你的Flutter项目中,你可以按照以下步骤来集成社交账号登录按钮。以下是一个简单的示例,展示了如何添加Google和Facebook的登录按钮:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Social Auth Button Kit Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: SocialAuthButtonDemo(),
    );
  }
}

class SocialAuthButtonDemo extends StatefulWidget {
  @override
  _SocialAuthButtonDemoState createState() => _SocialAuthButtonDemoState();
}

class _SocialAuthButtonDemoState extends State<SocialAuthButtonDemo> {

  void handleGoogleLogin() {
    // 在这里处理Google登录逻辑
    // 例如,你可以调用你的后端API或者使用Firebase Authentication
    print("Google Login Button Clicked");
  }

  void handleFacebookLogin() {
    // 在这里处理Facebook登录逻辑
    // 例如,你可以调用你的后端API或者使用Facebook SDK
    print("Facebook Login Button Clicked");
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Social Auth Button Kit Demo'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: <Widget>[
            SocialAuthButton(
              SocialAuthButtonType.google,
              onPressed: handleGoogleLogin,
            ),
            SizedBox(height: 20),
            SocialAuthButton(
              SocialAuthButtonType.facebook,
              onPressed: handleFacebookLogin,
            ),
          ],
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个Flutter应用,其中包含了Google和Facebook的登录按钮。当用户点击这些按钮时,会调用handleGoogleLoginhandleFacebookLogin方法,你可以在这些方法中实现具体的登录逻辑。

请注意,这个示例仅展示了如何集成和显示社交账号登录按钮。实际的登录逻辑(例如,与后端API的交互,或者使用特定的SDK进行身份验证)需要你在handleGoogleLoginhandleFacebookLogin方法中进行实现。

此外,根据具体的社交平台,你可能还需要配置一些额外的信息,比如客户端ID和密钥,这些信息通常可以在社交平台的开发者控制台中获取。

回到顶部