import
'package:flutter/material.dart'
;
void
main() {
runApp(PalindromeCheckerApp());
}
class
PalindromeCheckerApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return
MaterialApp(
theme: ThemeData(
primarySwatch: Colors.green,
),
debugShowCheckedModeBanner:
false
,
title:
'Palindrome Checker'
,
home: PalindromeCheckerScreen(),
);
}
}
class
PalindromeCheckerScreen extends StatefulWidget {
@override
_PalindromeCheckerScreenState createState() =>
_PalindromeCheckerScreenState();
}
class
_PalindromeCheckerScreenState extends State<PalindromeCheckerScreen> {
String inputText =
''
;
bool
isPalindrome =
false
;
void
checkPalindrome() {
String cleanedText = inputText
.replaceAll(RegExp(r
'[^a-zA-Z0-9]'
),
''
)
.toLowerCase();
String reversedText =
cleanedText.split(
''
).reversed.join(
''
);
isPalindrome = cleanedText == reversedText;
}
@override
Widget build(BuildContext context) {
return
Scaffold(
appBar: AppBar(
title: Text(
'Palindrome Checker'
),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Padding(
padding:
const
EdgeInsets.all(16.0),
child: TextField(
decoration: InputDecoration(labelText:
'Enter a string'
),
onChanged: (text) {
setState(() {
inputText = text;
});
},
),
),
ElevatedButton(
onPressed: () {
setState(() {
checkPalindrome();
});
},
child: Text(
'Check Palindrome'
),
),
SizedBox(height: 20),
Text(
isPalindrome
?
"Given String is Palindrome"
:
"Given String is not a Palindrome"
,
style: TextStyle(fontSize: 20),
),
],
),
),
);
}
}