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.