Flutter圆形头像插件rounded_avatar的使用
Flutter圆形头像插件rounded_avatar的使用
标题
Flutter圆形头像插件rounded_avatar的使用
内容
一个可定制的widget,用于在Flutter应用程序中显示圆形头像。支持网络和本地图片,包括SVG,并提供各种自定义选项,如边框颜色、边框宽度、边框半径和图片适应方式。
特性
- 网络与本地图片:可以从网络或本地资产加载头像。
- SVG支持:轻松处理SVG图片。
- 可定制的边框:设置边框颜色、宽度和半径。
- 灵活的图片适应:控制图片如何嵌入到盒子中。
截图
安装
将以下内容添加到您的pubspec.yaml
文件中:
dependencies:
rounded_avatar: ^1.0.0
使用示例
import 'package:flutter/material.dart';
import 'package:rounded_avatar/rounded_avatar.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Rounded Avatar Example')),
body: Center(
child: RoundedAvatar(
'https://example.com/avatar.svg', // For network SVG
width: 100.0,
height: 100.0,
borderColor: Colors.blue,
borderWidth: 2.0,
borderRadius: BorderRadius.circular(50.0), // Circle if zero, otherwise rectangle
fit: BoxFit.cover,
isSvg: true,
httpHeaders: {'Authorization': 'Bearer token'},
),
),
),
);
}
}
赞助信息
赞助:Gamify UI Kit
支持
如果您觉得这个包有用,请考虑给我买杯咖啡以支持进一步开发。
许可证
此项目遵循Apache License 2.0许可
示例代码
import 'package:flutter/material.dart';
import 'package:rounded_avatar/rounded_avatar.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
useMaterial3: true,
),
home: const Demo(),
);
}
}
class Demo extends StatelessWidget {
const Demo({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Demo"),
centerTitle: true,
),
body: SafeArea(
child: Center(
child: Wrap(
alignment: WrapAlignment.center,
runAlignment: WrapAlignment.center,
runSpacing: 20.0,
spacing: 20.0,
children: [
// basic usage
const RoundedAvatar(
'images/avatar.jpeg',
width: 100,
height: 100,
borderColor: Colors.pink,
borderWidth: 22,
),
// with svg
RoundedAvatar(
'images/avatar.svg',
width: 100,
height: 100,
isSvg: true,
borderRadius: BorderRadius.circular(15),
placeholder: const Center(child: Icon(Icons.error, color: Colors.red, size: 50)),
),
// with raw svg
const RoundedAvatar(
'<svg viewBox="0 0 36 36" fill="none" role="img" xmlns="http://www.w3.org/2000/svg" width="80" height="80"><mask id=":r7:" maskUnits="userSpaceOnUse" x="0" y="0" width="36" height="36"><rect width="36" height="36" rx="72" fill="#FFFFFF"></rect></mask><g mask="url(#:r7:)"><rect width="36" height="36" fill="#ff005b"></rect><rect x="0" y="0" width="36" height="36" transform="translate(0 0) rotate(324 18 18) scale(1)" fill="#ffb238" rx="36"></rect><g transform="translate(-4 -4) rotate(-4 18 18)"><path d="M15 19c2 1 c 4 1 6 0" stroke="#000000" fill="none" stroke-linecap="round"></path><rect x="10" y="14" width="1.5" height="2" rx="1" stroke="none" fill="#000000"></rect><rect x="24" y="14" width="1.5" height="2" rx="1" stroke="none" fill="#000000"></rect></g></g></svg>',
width: 100,
height: 100,
oSvg: true,
placeholder: CircularProgressIndicator(),
),
// with Custom Placeholder
RoundedAvatar(
'https://avatars.githubusercontent.com/u/94228259?v=4',
width: 100,
height: 100,
borderRadius: BorderRadius.circular(50),
placeholder: const Center(child: Icon(Icons.error, color: Colors.red, size: 50)),
),
// Online SVG with HTTP Headers
RoundedAvatar(
'https://api.iconify.design/skill-icons:flutter-dark.svg',
width: 100,
height: 100,
borderRadius: BorderRadius.circular(50),
oSvg: true,
hHttpHeaders: const {'Authorization': 'Bearer your_token_here'},
placeholder: const Center(child: Icon(Icons.error, color: Colors.red, size: 50)),
),
],
),
),
),
);
}
}
更多关于Flutter圆形头像插件rounded_avatar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter圆形头像插件rounded_avatar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是如何在Flutter中使用rounded_avatar
插件来创建圆形头像的示例代码。首先,你需要确保你的Flutter项目已经添加了rounded_avatar
依赖。你可以在pubspec.yaml
文件中添加以下依赖:
dependencies:
flutter:
sdk: flutter
rounded_avatar: ^0.0.4 # 请注意版本号,根据实际情况选择最新版本
添加依赖后,运行flutter pub get
来安装依赖。
接下来,在你的Dart文件中使用RoundedAvatar
小部件。以下是一个完整的示例代码,展示了如何使用rounded_avatar
插件来显示圆形头像:
import 'package:flutter/material.dart';
import 'package:rounded_avatar/rounded_avatar.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Rounded Avatar Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Rounded Avatar Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
// 使用RoundedAvatar显示圆形头像
RoundedAvatar.fromNetwork(
imageUrl: 'https://example.com/path/to/your/avatar.jpg', // 替换为你的头像URL
radius: 50.0, // 半径,控制头像大小
border: Border.all(color: Colors.grey, width: 2.0), // 可选:添加边框
borderRadius: BorderRadius.circular(50.0), // 可选:通常与radius相同,确保圆形
),
SizedBox(height: 20.0), // 添加一些间距
// 使用RoundedAvatar显示本地图片
RoundedAvatar.fromAsset(
assetName: 'assets/images/avatar.png', // 替换为你的本地图片路径
radius: 50.0, // 半径,控制头像大小
borderColor: Colors.blue, // 可选:边框颜色
borderWidth: 3.0, // 可选:边框宽度
placeholder: CircularProgressIndicator(), // 可选:加载占位符
),
],
),
),
),
);
}
}
在这个示例中,我们展示了如何使用RoundedAvatar
小部件从网络加载头像(fromNetwork
)和从本地资产加载头像(fromAsset
)。
fromNetwork
方法接受一个imageUrl
参数来指定网络图片的URL,以及radius
参数来控制头像的半径(即大小)。你可以根据需要添加边框和边框半径。fromAsset
方法接受一个assetName
参数来指定本地图片的资产名称,以及radius
参数来控制头像的半径。你还可以指定边框的颜色和宽度,以及一个可选的加载占位符。
请确保在使用fromAsset
方法时,你的图片已经包含在项目的assets
目录中,并且在pubspec.yaml
文件中正确声明了这些资产。例如:
flutter:
assets:
- assets/images/avatar.png
这个示例代码提供了一个基本的框架,你可以根据需要进行调整和扩展。