This tutorial will teach you how to make make a Currency Converter App in Flutter step by step.it will help you convert the currency easily.
Main.dart
import 'package:currency_converter/currect_converter.dart'; import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', debugShowCheckedModeBanner: false, theme: ThemeData( primarySwatch: Colors.blue, ), home: CurrecyConverter(), ); } }
currect_converter.dart
import 'package:flutter/material.dart'; class CurrecyConverter extends StatefulWidget { const CurrecyConverter({ Key key }) : super(key: key); @override State<CurrecyConverter> createState() => _CurrecyConverterState(); } class _CurrecyConverterState extends State<CurrecyConverter> { String valueschoose; String valueschoose1; @override Widget build(BuildContext context) { final _amount = TextEditingController(); final _tot = TextEditingController(); int cal; int result; var size = MediaQuery.of(context).size; return Scaffold( body: SafeArea( child: Container( padding:EdgeInsets.symmetric(horizontal: 15,vertical: 20), child: Column( children: [ Text("Currency Converter",style: TextStyle(fontSize: 30, color: Colors.black)), SizedBox(height: 15,), TextField( controller: _amount, decoration: InputDecoration( labelText: "Amount", labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400), border: OutlineInputBorder(borderRadius: BorderRadius.circular(10)) ), ), SizedBox(height: 15,), DropdownButton<String>( value: this.valueschoose, items: <String>['Srilankan Rupees', 'Indian Rupees'].map((String value) { return DropdownMenuItem<String>( value: value, child: Text(value), ); }).toList(), onChanged: (value) => setState(() => this.valueschoose = value, )), SizedBox(height: 15,), DropdownButton<String>( value: this.valueschoose1, items: <String>['USD'].map((String value) { return DropdownMenuItem<String>( value: value, child: Text(value), ); }).toList(), onChanged: (value) => setState(() => this.valueschoose1 = value, )), SizedBox(height: 15,), TextField( controller: _tot, decoration: InputDecoration( labelText: "Total", labelStyle: TextStyle(fontSize: 15,color: Colors.grey.shade400), border: OutlineInputBorder(borderRadius: BorderRadius.circular(10)) ), ), SizedBox(height: 15,), GestureDetector( onTap: () { if(valueschoose=="Srilankan Rupees" && valueschoose1=="USD") { cal = int.parse(_amount.text) * 300; result = cal; _tot.text = result.toString(); } else if(valueschoose=="Indian Rupees" && valueschoose1=="USD") { cal = int.parse(_amount.text) * 78; result = cal; _tot.text = result.toString(); } }, child: Container( alignment: Alignment.center, height: size.height / 14, width: size.width, decoration: BoxDecoration(color: Colors.red, borderRadius: BorderRadius.circular(5)), child: Text("Convert", style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold),), ), ) ], ), ), ), ); } }
I have attached the video tutorial below it will help you to do this step by step.