我的图标和文字没有颤抖地输出

问题描述

我写的代码与我的老师完全一样,然后重新检查了一下。一切都很好,但是我的代码未在我的小部件内输出文本和图标(即,我的Male和Female徽标图标和文本)。请帮助我,我不知道该怎么办。这是代码-

  1. 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(),);
  }
}
  1. 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
  1. 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...