My Calculator

 import 'package:flutter/material.dart';


void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(primaryColor: Colors.red),
      title: "Calculator",
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  int firstnum;
  int secondnum;
  String texttodisplayy = "";
  String results;
  String operatortoperform;

  void btnclicked(String btnval) {
    if (btnval == "C") {
      texttodisplayy = "";
      firstnum = 0;
      secondnum = 0;
      results = "";
    } else if (btnval == "+" ||
        btnval == "-" ||
        btnval == "x" ||
        btnval == "/") {
      firstnum = int.parse(texttodisplayy);
      results = "";
      operatortoperform = btnval;
    } else if (btnval == "=") {
      secondnum = int.parse(texttodisplayy);
      if (operatortoperform == "+") {
        results = (firstnum + secondnum).toString();
      }
      if (operatortoperform == "-") {
        results = (firstnum - secondnum).toString();
      }
      if (operatortoperform == "x") {
        results = (firstnum * secondnum).toString();
      }
      if (operatortoperform == "/") {
        results = (firstnum ~/ secondnum).toString();
      }
    } else {
      results = int.parse(texttodisplayy + btnval).toString();
    }
    setState(() {
      texttodisplayy = results;
    });
  }

  Widget _custombuttom(String btnval) {
    return Expanded(
      child: OutlineButton(
        onPressed: () {
          btnclicked(btnval);
        },
        padding: EdgeInsets.all(25.0),
        child: Text(
          "$btnval",
          style: TextStyle(fontSize: 22.0),
        ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Calculator"),
      ),
      body: Container(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.end,
          children: <Widget>[
            Expanded(
              child: Container(
                padding: EdgeInsets.only(bottom: 20.0, right: 20),
                alignment: Alignment.bottomRight,
                child: Text(
                  "$texttodisplayy",
                  style: TextStyle(fontSize: 30, fontWeight: FontWeight.w600),
                ),
              ),
            ),
            Row(
              children: [
                _custombuttom("9"),
                _custombuttom("8"),
                _custombuttom("7"),
                _custombuttom("+"),
              ],
            ),
            Row(
              children: [
                _custombuttom("6"),
                _custombuttom("5"),
                _custombuttom("4"),
                _custombuttom("-"),
              ],
            ),
            Row(
              children: [
                _custombuttom("3"),
                _custombuttom("2"),
                _custombuttom("1"),
                _custombuttom("x"),
              ],
            ),
            Row(
              children: [
                _custombuttom("C"),
                _custombuttom("0"),
                _custombuttom("="),
                _custombuttom("/"),
              ],
            ),
          ],
        ),
      ),
    );
  }
}