Flutter认证按钮组件插件auth_button_kit的使用
Flutter认证按钮组件插件auth_button_kit的使用
简介
AuthButtonKit
是一个用于Flutter的前端包,专为Android和iOS设计,帮助开发者轻松创建美观的登录按钮。这些按钮特别针对移动设备进行了优化,不建议在电脑屏幕上使用。该插件会自动调整按钮的图标、文本和加载器的颜色,以确保与背景颜色的良好对比。
使用方法
AuthButtonKit
提供了两种主要的使用方式:
-
单个按钮 (
AuthButton
): 用于创建单个认证按钮。 -
多个按钮 (
AuthMultiButtons
): 用于创建一组认证按钮。
示例代码
以下是一个完整的示例代码,展示了如何使用 AuthButtonKit
创建单个按钮、多个按钮以及自定义按钮。
import 'package:auth_button_kit/auth_button_kit.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const ExampleApp());
}
class ExampleApp extends StatelessWidget {
const ExampleApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
themeMode: ThemeMode.system,
home: const Example(),
theme: ThemeData(
brightness: Brightness.light,
primarySwatch: Colors.blue,
),
darkTheme: ThemeData(
brightness: Brightness.dark,
primarySwatch: Colors.blue,
),
);
}
}
class Example extends StatefulWidget {
const Example({Key? key}) : super(key: key);
[@override](/user/override)
State<Example> createState() => _ExamplePageState();
}
class _ExamplePageState extends State<Example> {
Method? brandSelected;
void toogle(Method brand) {
setState(() {
brandSelected = brand;
Future.delayed(const Duration(seconds: 2), () {
setState(() {
brandSelected = null;
});
});
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Auth Buttons Example'),
),
body: IgnorePointer(
ignoring: brandSelected != null,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// 单个按钮 ↓
AuthButton(
onPressed: (b) => toogle(b),
brand: Method.tiktok,
text: 'Continue with {brand}',
backgroundColor: Theme.of(context).brightness == Brightness.light
? Colors.black
: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30),
side: const BorderSide(color: Colors.transparent),
),
fontFamily: 'Inter',
showLoader: brandSelected == Method.tiktok,
),
const SizedBox(height: 20),
// 多个按钮 ↓
AuthMultiButtons(
onPressed: (b) => toogle(b),
brands: const [
Method.google,
Method.apple,
],
text: 'Sign in with {brand}',
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(30),
side: BorderSide(
color: Theme.of(context).brightness == Brightness.light
? const Color(0xFFAFBCC7)
: Colors.transparent,
width: 1.5),
),
fontFamily: 'Inter',
showLoader: brandSupported.contains(brandSelected),
),
const SizedBox(height: 20),
// 自定义按钮 ↓
AuthButton(
onPressed: (b) => toogle(b),
brand: Method.custom,
text: 'Custom',
textCentering: Centering.independent,
textColor: const Color(0xFF46c5fb),
backgroundColor: const Color(0xFF171106),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
side: BorderSide(
color: Theme.of(context).brightness == Brightness.light
? Colors.transparent
: const Color(0xFF46c5fb),
width: 1.5,
),
),
fontFamily: 'Inter',
showLoader: brandSelected == Method.custom,
loaderColor: const Color(0xFF46c5fb),
splashEffect: false,
customImage: Image.asset('assets/images/Flutter.png'),
padding: const EdgeInsets.symmetric(horizontal: 100, vertical: 12),
),
const SizedBox(height: 50),
],
),
),
);
}
}
更多关于Flutter认证按钮组件插件auth_button_kit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter认证按钮组件插件auth_button_kit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter项目中使用auth_button_kit
插件来创建一个认证按钮组件的示例代码。auth_button_kit
是一个用于创建谷歌、Facebook、Apple等认证按钮的Flutter插件。
首先,确保你已经在pubspec.yaml
文件中添加了auth_button_kit
依赖:
dependencies:
flutter:
sdk: flutter
auth_button_kit: ^x.y.z # 请将x.y.z替换为最新版本号
然后运行flutter pub get
来获取依赖。
接下来,你可以在你的Flutter应用中使用AuthButton
组件。下面是一个简单的示例,展示了如何使用Google和Facebook的认证按钮:
import 'package:flutter/material.dart';
import 'package:auth_button_kit/auth_button_kit.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Auth Button Kit Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Auth Button Kit Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 20),
GoogleAuthButton(
onPressed: () {
// 处理谷歌认证按钮点击事件
print('Google button pressed');
// 例如,导航到谷歌认证页面或执行其他逻辑
},
darkMode: false,
),
SizedBox(height: 20),
FacebookAuthButton(
onPressed: () {
// 处理Facebook认证按钮点击事件
print('Facebook button pressed');
// 例如,导航到Facebook认证页面或执行其他逻辑
},
darkMode: false,
),
],
),
),
),
);
}
}
在上面的代码中,我们创建了一个简单的Flutter应用,其中包含一个Google认证按钮和一个Facebook认证按钮。当用户点击这些按钮时,会在控制台中打印相应的消息。在实际应用中,你可以在这些按钮的onPressed
回调中处理认证逻辑,比如导航到认证页面或启动认证流程。
AuthButtonKit
还提供了其他类型的认证按钮,比如Apple、GitHub等,你可以根据需要添加它们。例如,添加一个Apple认证按钮的代码如下:
AppleAuthButton(
onPressed: () {
// 处理Apple认证按钮点击事件
print('Apple button pressed');
// 例如,导航到Apple认证页面或执行其他逻辑
},
darkMode: false,
),
确保你已经按照auth_button_kit
的文档配置了相应的原生代码和依赖项,以支持不同平台的认证功能。例如,对于Google和Facebook认证,你可能需要在iOS和Android项目中分别配置相应的SDK和API密钥。