Flutter拟物风格界面插件neumorphic_widget的使用
Flutter拟物风格界面插件neumorphic_widget的使用
帮助开发者将一些流行的控件转换为拟物风格(Neumorphism)。
特性
- NeumorphicCard: 具有拟物风格外观的卡片。
- NeumorphicButton: 实现按下和释放按钮效果,并带有
onTap
回调。 - NeumorphicTextInputField: 构建具有浮雕效果的输入框。
开始使用
在您的 pubspec.yaml
文件中添加以下依赖项:
dependencies:
neumorphic_widget: ^版本号
然后运行 flutter pub get
安装该插件。
使用方法
截图展示
以下是使用 neumorphic_widget
的效果截图:
示例代码
1. 使用 NeumorphicCard
通过设置阴影模糊度和背景颜色来创建一个拟物风格的卡片。
import 'package:flutter/material.dart';
import 'package:neumorphic_widget/neumorphic_widget.dart';
class MyWidget extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return NeumorphicCard(
// 阴影模糊度
shadowBlur: 15,
// 背景颜色
backgroundColor: Colors.grey[200],
child: Card(
color: Colors.grey[200],
elevation: 0,
child: Center(
child: Text("这是一个拟物风格卡片"),
),
),
);
}
}
2. 使用 NeumorphicButton
实现带有按下效果的按钮。
import 'package:flutter/material.dart';
import 'package:neumorphic_widget/neumorphic_widget.dart';
class MyWidget extends StatelessWidget {
void _submit() {
print("登录按钮被点击");
}
[@override](/user/override)
Widget build(BuildContext context) {
return NeumorphicButton(
// 圆角半径
borderRadius: BorderRadius.circular(8.0),
// 按钮宽度
width: MediaQuery.of(context).size.width * 0.5,
// 按钮高度
height: 40,
// 点击事件回调
onPressed: _submit,
child: Text(
'LOGIN',
style: TextStyle(color: Colors.white),
),
);
}
}
3. 使用 NeumorphicTextInputField
构建具有浮雕效果的输入框。
import 'package:flutter/material.dart';
import 'package:neumorphic_widget/neumorphic_widget.dart';
class MyWidget extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return NeumorphicTextInputField(
textFormField: TextFormField(
// 输入框保存数据的回调
onSaved: (_) {},
decoration: buildNeumorphicInputDecoration('Username'),
),
);
}
}
// 自定义输入框装饰
InputDecoration buildNeumorphicInputDecoration(String hintText) {
return InputDecoration(
hintText: hintText,
border: InputBorder.none,
contentPadding: EdgeInsets.symmetric(horizontal: 16.0),
);
}
更多关于Flutter拟物风格界面插件neumorphic_widget的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter拟物风格界面插件neumorphic_widget的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
neumorphic_widget
是一个用于 Flutter 的拟物风格(Neumorphic)UI 组件库,它可以帮助你轻松地创建具有拟物风格的界面。拟物风格是一种设计趋势,强调通过阴影和高光来模拟物理物体的外观,使界面元素看起来像是凹凸或凹陷的。
安装
首先,你需要在 pubspec.yaml
文件中添加 neumorphic_widget
插件的依赖:
dependencies:
flutter:
sdk: flutter
neumorphic_widget: ^1.0.0 # 请检查最新版本
然后运行 flutter pub get
来安装依赖。
使用
1. 基本使用
neumorphic_widget
提供了多种拟物风格的组件,如 NeumorphicButton
、NeumorphicContainer
等。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:neumorphic_widget/neumorphic_widget.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: NeumorphicColors.background,
body: Center(
child: NeumorphicButton(
onPressed: () {
print('Button Pressed');
},
child: Text('Neumorphic Button'),
),
),
),
);
}
}
在这个示例中,我们使用了 NeumorphicButton
来创建一个拟物风格的按钮。NeumorphicColors.background
用于设置背景颜色,这是拟物风格中常用的一种背景色。
2. 自定义样式
你可以通过设置 style
参数来自定义拟物风格的外观。例如,你可以调整阴影的深度、颜色、圆角等:
NeumorphicButton(
onPressed: () {
print('Button Pressed');
},
style: NeumorphicStyle(
depth: 10, // 阴影深度
intensity: 0.8, // 阴影强度
color: Colors.grey[300], // 背景颜色
shape: NeumorphicShape.flat, // 形状(flat 或 convex)
boxShape: NeumorphicBoxShape.roundRect(BorderRadius.circular(20)), // 圆角
),
child: Text('Custom Neumorphic Button'),
)
3. 其他组件
除了按钮,neumorphic_widget
还提供了其他拟物风格的组件,如 NeumorphicContainer
、NeumorphicIcon
、NeumorphicText
等。你可以根据需要选择使用。
NeumorphicContainer(
child: Center(
child: Text('Neumorphic Container'),
),
style: NeumorphicStyle(
depth: -5, // 负值表示凹陷效果
color: Colors.grey[300],
boxShape: NeumorphicBoxShape.circle(), // 圆形
),
)