如何解决我的图标和文字没有颤抖地输出
我写的代码与我的老师完全一样,然后重新检查了一下。一切都很好,但是我的代码未在我的小部件内输出文本和图标(即,我的Male和Female徽标图标和文本)。请帮助我,我不知道该怎么办。这是代码-
- main.dart中的代码-
import 'package:Flutter/material.dart';
import 'input_page.dart';
void main() => runApp(BMICalculator());
class BMICalculator extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(
primaryColor: Color(0xFF0A0E21),scaffoldBackgroundColor: Color(0xFF0A0E21),),home: InputPage(),);
}
}
- pubspec.yaml中的代码-
name: bmi_calculator
description: A new Flutter application.
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
Flutter:
sdk: Flutter
cupertino_icons: ^0.1.2
font_awesome_Flutter: ^8.4.0
dev_dependencies:
Flutter_test:
sdk: Flutter
Flutter:
uses-material-design: true
- input_page.dart中的代码-
import 'package:Flutter/cupertino.dart';
import 'package:Flutter/material.dart';
import 'package:font_awesome_Flutter/font_awesome_Flutter.dart';
const bottomContainerHeight = 80.0;
const activeCardColour = Color(0xFF1D1E33);
const bottomContainerColour = Color(0xFFEB1555);
class InputPage extends StatefulWidget {
@override
_InputPageState createState() => _InputPageState();
}
class _InputPageState extends State<InputPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Center(child: Text('BMI CALculaTOR')),body: Column(
children: <Widget>[
Expanded(child: Row(
children: <Widget>[
Expanded(
child: ReusableCard(
colour: activeCardColour,cardChild: IconContent(icon:
FontAwesomeIcons.mars,label: 'MALE',)
),Expanded(
child: ReusableCard(
colour: activeCardColour,cardChild: IconContent(icon:
FontAwesomeIcons.venus,label: 'FEMALE',],Expanded(
child: ReusableCard(colour: activeCardColour),Expanded(child: Row(
children: <Widget>[
Expanded(
child: ReusableCard(colour: activeCardColour),Expanded(
child: ReusableCard(colour: activeCardColour),Container(
color: bottomContainerColour,margin: EdgeInsets.only(top: 10.0,bottom: 10.0),height: bottomContainerHeight,width: double.infinity,)
],);
}
}
class IconContent extends StatelessWidget {
IconContent({this.icon,this.label});
final IconData icon;
final String label;
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
Icon(
icon,size: 80,SizedBox( height: 15),Text(
label,style: TextStyle(
fontSize: 18.0,//color: Colors.white,color: Color(0xFF8D8E98),)
],);
}
}
class ReusableCard extends StatelessWidget {
ReusableCard({@required this.colour,this.cardChild});
final Color colour;
final Widget cardChild;
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.all(15.0),decoration: Boxdecoration(
color: colour,borderRadius: BorderRadius.circular(10.0),);
}
}
解决方法
在您的ReusableCard
中缺少child
。
您必须写:
return Container(
margin: EdgeInsets.all(15.0),decoration: BoxDecoration(
color: colour,borderRadius: BorderRadius.circular(10.0),),child: cardChild,);
在此类ReusableCard
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。