Flutter身体质量指数(BMI)计算插件maquestiaux_bmi_calculator的使用
Flutter身体质量指数(BMI)计算插件maquestiaux_bmi_calculator的使用
使用说明
以下是一个完整的示例,展示如何在Flutter应用中使用maquestiaux_bmi_calculator
插件来计算身体质量指数(BMI)。
完整示例代码
// 导入必要的包
import 'package:flutter/material.dart';
import './bmi_calculation_page.dart'; // 引入BMI计算页面
// 主应用入口
void main() {
runApp(MyApp()); // 运行MyApp
}
// 定义MyApp类
class MyApp extends StatelessWidget {
// 构建应用界面
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter BMI Demo', // 应用标题
debugShowCheckedModeBanner: false, // 禁用调试标志
theme: ThemeData(
primarySwatch: Colors.indigo, // 设置主题颜色
// 自适应平台密度
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: BmiCalculationPage(), // 设置首页为BMI计算页面
);
}
}
BMI计算页面示例代码
// 导入必要的包
import 'package:flutter/material.dart';
import 'package:maquestiaux_bmi_calculator/maquestiaux_bmi_calculator.dart'; // 引入BMI计算库
// 定义BMI计算页面
class BmiCalculationPage extends StatefulWidget {
@override
_BmiCalculationPageState createState() => _BmiCalculationPageState();
}
class _BmiCalculationPageState extends State<BmiCalculationPage> {
double height = 0; // 用户身高
double weight = 0; // 用户体重
String bmiResult = ''; // BMI结果
String advice = ''; // 建议
// 计算BMI的方法
void calculateBMI() {
final bmiCalculator = BmiCalculator(height: height, weight: weight);
final result = bmiCalculator.calculate();
setState(() {
bmiResult = '您的BMI值为: ${result.bmi.toStringAsFixed(2)}'; // 格式化BMI值到两位小数
advice = result.advice; // 获取建议
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('BMI计算器'), // 设置AppBar标题
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextField(
decoration: InputDecoration(labelText: '请输入身高(cm)'), // 输入框提示
onChanged: (value) {
height = double.tryParse(value) ?? 0; // 转换输入为double类型
},
),
SizedBox(height: 16), // 添加间距
TextField(
decoration: InputDecoration(labelText: '请输入体重(kg)'), // 输入框提示
onChanged: (value) {
weight = double.tryParse(value) ?? 0; // 转换输入为double类型
},
),
SizedBox(height: 16), // 添加间距
ElevatedButton(
onPressed: calculateBMI, // 按钮点击事件
child: Text('计算BMI'), // 按钮文本
),
SizedBox(height: 16), // 添加间距
Text(bmiResult), // 显示BMI结果
SizedBox(height: 8), // 添加间距
Text(advice), // 显示建议
],
),
),
);
}
}
效果图
说明
- 依赖引入:
在
pubspec.yaml
文件中添加以下依赖:dependencies: maquestiaux_bmi_calculator: ^1.0.0
更多关于Flutter身体质量指数(BMI)计算插件maquestiaux_bmi_calculator的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter身体质量指数(BMI)计算插件maquestiaux_bmi_calculator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
maquestiaux_bmi_calculator
是一个用于计算身体质量指数 (BMI) 的 Flutter 插件。它可以帮助你根据用户的身高和体重快速计算出 BMI 值,并根据结果提供相应的健康建议。
安装插件
首先,你需要在 pubspec.yaml
文件中添加 maquestiaux_bmi_calculator
插件的依赖:
dependencies:
flutter:
sdk: flutter
maquestiaux_bmi_calculator: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装插件。
使用插件
在你的 Dart 文件中导入插件:
import 'package:maquestiaux_bmi_calculator/maquestiaux_bmi_calculator.dart';
接下来,你可以使用 BMICalculator
类来计算 BMI 值并获取健康建议。
示例代码
import 'package:flutter/material.dart';
import 'package:maquestiaux_bmi_calculator/maquestiaux_bmi_calculator.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'BMI Calculator',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: BMICalculatorScreen(),
);
}
}
class BMICalculatorScreen extends StatefulWidget {
[@override](/user/override)
_BMICalculatorScreenState createState() => _BMICalculatorScreenState();
}
class _BMICalculatorScreenState extends State<BMICalculatorScreen> {
final _heightController = TextEditingController();
final _weightController = TextEditingController();
String _bmiResult = '';
String _bmiStatus = '';
void _calculateBMI() {
double height = double.tryParse(_heightController.text) ?? 0.0;
double weight = double.tryParse(_weightController.text) ?? 0.0;
if (height > 0 && weight > 0) {
double bmi = BMICalculator.calculateBMI(height: height, weight: weight);
String status = BMICalculator.getBMIStatus(bmi);
setState(() {
_bmiResult = bmi.toStringAsFixed(2);
_bmiStatus = status;
});
} else {
setState(() {
_bmiResult = 'Invalid input';
_bmiStatus = '';
});
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('BMI Calculator'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
TextField(
controller: _heightController,
decoration: InputDecoration(labelText: 'Height (cm)'),
keyboardType: TextInputType.number,
),
TextField(
controller: _weightController,
decoration: InputDecoration(labelText: 'Weight (kg)'),
keyboardType: TextInputType.number,
),
SizedBox(height: 20),
ElevatedButton(
onPressed: _calculateBMI,
child: Text('Calculate BMI'),
),
SizedBox(height: 20),
Text('BMI: $_bmiResult', style: TextStyle(fontSize: 24)),
Text('Status: $_bmiStatus', style: TextStyle(fontSize: 24)),
],
),
),
);
}
[@override](/user/override)
void dispose() {
_heightController.dispose();
_weightController.dispose();
super.dispose();
}
}