Skip to content

Commit

Permalink
Merge pull request #156 from prajapatihet/ui-fixes
Browse files Browse the repository at this point in the history
Issue #142 UI Fixed
  • Loading branch information
sapatevaibhav authored Jun 2, 2024
2 parents ee4aa71 + 54215bd commit 9ba1e1d
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 112 deletions.
28 changes: 14 additions & 14 deletions lib/pages/modules/animals.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import 'package:learn/utils/constants.dart';
import '../../utils/const_dimensions.dart';

class AnimalsPage extends StatelessWidget {


final FlutterTts flutterTts = FlutterTts();
final AudioPlayer audioPlayer = AudioPlayer();

Expand All @@ -31,7 +29,7 @@ class AnimalsPage extends StatelessWidget {
itemBuilder: (context, index) {
return GestureDetector(
onTap: () {
_showAnimalPopup(context, AppConstants.animals[index],index);
_showAnimalPopup(context, AppConstants.animals[index], index);
},
child: Container(
margin: const EdgeInsets.all(5.0),
Expand All @@ -46,7 +44,8 @@ class AnimalsPage extends StatelessWidget {
SizedBox(
width: ConstantDimensions.widthExtraLarge,
height: ConstantDimensions.heightExtraLarge,
child: SvgPicture.asset(AppConstants.animals[index].svgAsset),
child:
SvgPicture.asset(AppConstants.animals[index].svgAsset),
),
const SizedBox(width: ConstantDimensions.widthMedium_Large),
Text(
Expand All @@ -66,7 +65,8 @@ class AnimalsPage extends StatelessWidget {
);
}

Future<void> _showAnimalPopup(BuildContext context, Animal animal, int currentIndex) async {
Future<void> _showAnimalPopup(
BuildContext context, Animal animal, int currentIndex) async {
await flutterTts.setVolume(1.0);
await flutterTts.setSpeechRate(.5);
await flutterTts.setLanguage("EN-IN");
Expand Down Expand Up @@ -140,13 +140,11 @@ class _AnimalPopupState extends State<AnimalPopup> {
isTapped = !isTapped;
});
},
child: SizedBox(
width: ConstantDimensions.widthExtraLarge * 4,
height: ConstantDimensions.heightExtraLarge * 4,
child: SvgPicture.asset(
widget.animal.svgAsset,
color: isTapped ? const Color.fromARGB(81, 118, 96, 94) : null,
),
child: SvgPicture.asset(
widget.animal.svgAsset,
color: isTapped ? const Color.fromARGB(81, 118, 96, 94) : null,
width: MediaQuery.of(context).size.width * 0.3,
height: MediaQuery.of(context).size.height * 0.3,
),
),
const SizedBox(height: ConstantDimensions.heightSmall_Medium),
Expand All @@ -157,12 +155,14 @@ class _AnimalPopupState extends State<AnimalPopup> {
child: const Text('Play Sound'),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
IconButton(
onPressed: () {
_navigateToPreviousAnimal();
},
icon: const Icon(Icons.arrow_back),
iconSize: 30,
),
SizedBox(
width: ConstantDimensions.exceptions[0],
Expand All @@ -172,6 +172,7 @@ class _AnimalPopupState extends State<AnimalPopup> {
_navigateToNextAnimal();
},
icon: const Icon(Icons.arrow_forward),
iconSize: 30,
),
],
)
Expand All @@ -195,7 +196,7 @@ class _AnimalPopupState extends State<AnimalPopup> {
);
}

void _navigateToPreviousAnimal() {
void _navigateToPreviousAnimal() {
setState(() {
widget.currentIndex = (widget.currentIndex - 1) % widget.animals.length;
if (widget.currentIndex < 0) {
Expand All @@ -212,7 +213,6 @@ void _navigateToPreviousAnimal() {
});
}


Future<void> _playAnimalSound(String soundAsset) async {
await widget.audioPlayer.setAsset(soundAsset);
await widget.audioPlayer.play();
Expand Down
184 changes: 91 additions & 93 deletions lib/pages/modules/atoz.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'dart:async';
Expand Down Expand Up @@ -38,7 +37,7 @@ class ItemTile extends StatelessWidget {
);
},
child: Padding(
padding: const EdgeInsets.all(6),
padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 5),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
Expand All @@ -51,27 +50,25 @@ class ItemTile extends StatelessWidget {
),
textAlign: TextAlign.center,
),
const SizedBox(height: 3),
LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints){
if (MediaQuery.of(context).orientation ==
Orientation.portrait) {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.3,
height: MediaQuery.of(context).size.width * 0.3,
alignment: Alignment.center,
);
} else {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.3,
height: MediaQuery.of(context).size.width * 0.2,
alignment: Alignment.center,
);
}
builder: (BuildContext context, BoxConstraints constraints) {
if (MediaQuery.of(context).orientation ==
Orientation.portrait) {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.2,
height: MediaQuery.of(context).size.height * 0.1,
alignment: Alignment.center,
);
} else {
return SvgPicture.asset(
item.iconAsset,
width: MediaQuery.of(context).size.width * 0.2,
height: MediaQuery.of(context).size.height * 0.2,
alignment: Alignment.center,
);
}
),
}),
const SizedBox(height: ConstantDimensions.heightExtraSmall / 2),
Text(item.description, textAlign: TextAlign.center),
],
Expand Down Expand Up @@ -157,86 +154,87 @@ class _PopupDialogState extends State<_PopupDialog> {
@override
Widget build(BuildContext context) {
final currentItem = widget.items[currentIndex];
return SingleChildScrollView(
child: AlertDialog(
contentPadding: EdgeInsets.zero,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
content: Container(
padding: EdgeInsets.zero,
width: MediaQuery.of(context).size.width * 0.7,
decoration: BoxDecoration(
color: currentItem.backgroundColor,
borderRadius: BorderRadius.circular(15)),
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.min,
children: [
Text(
currentItem.title,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 40,
return AlertDialog(
contentPadding: EdgeInsets.zero,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15)),
content: Container(
padding: EdgeInsets.zero,
width: MediaQuery.of(context).size.width * 0.75,
height: MediaQuery.of(context).size.height * 0.75,
decoration: BoxDecoration(
color: currentItem.backgroundColor,
borderRadius: BorderRadius.circular(15)),
child: Padding(
padding: const EdgeInsets.all(18),
child: Center(
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.min,
children: [
Text(
currentItem.title,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 40,
),
textAlign: TextAlign.center,
),
textAlign: TextAlign.center,
),
const SizedBox(height: ConstantDimensions.heightMedium),
GestureDetector(
onTap: () {
_speakText(currentItem.description);
},
child: SvgPicture.asset(
currentItem.iconAsset,
width: MediaQuery.of(context).size.width * 0.5,
height: MediaQuery.of(context).size.width * 0.5,
alignment: Alignment.center,
const SizedBox(height: ConstantDimensions.heightMedium),
GestureDetector(
onTap: () {
_speakText(currentItem.description);
},
child: SvgPicture.asset(
currentItem.iconAsset,
width: MediaQuery.of(context).size.width * 0.5,
height: MediaQuery.of(context).size.height * 0.3,
alignment: Alignment.center,
),
),
),
const SizedBox(height: ConstantDimensions.heightMedium),
Text(
currentItem.description,
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 28,

),
),
const SizedBox(height: ConstantDimensions.heightMedium),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ElevatedButton(
onPressed: _previousItem,
child: const Text('Prev'),
const SizedBox(height: ConstantDimensions.heightMedium),
Text(
currentItem.description,
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 28,
),
),
ElevatedButton(
onPressed: _nextItem,
child: const Text('Next'),
const SizedBox(height: ConstantDimensions.heightMedium),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ElevatedButton(
onPressed: _previousItem,
child: const Text('Prev'),
),
ElevatedButton(
onPressed: _nextItem,
child: const Text('Next'),
),
],
),
],
),
const SizedBox(height: ConstantDimensions.heightMedium),
ElevatedButton(
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all(
const Color.fromARGB(216, 233, 101, 92),
const SizedBox(height: ConstantDimensions.heightMedium),
ElevatedButton(
style: ButtonStyle(
backgroundColor: WidgetStateProperty.all(
const Color.fromARGB(216, 233, 101, 92),
),
),
onPressed: () {
Navigator.pop(context);
},
child: const Text(
'Close',
style: TextStyle(color: Colors.white),
),
),
),
onPressed: () {
Navigator.pop(context);
},
child: const Text(
'Close',
style: TextStyle(color: Colors.white),
),
],
),
const SizedBox(height: ConstantDimensions.heightExtraLarge),
],
),
),
),
),
)
);
}
}
Expand Down Expand Up @@ -293,7 +291,7 @@ class _AtoZState extends State<AtoZ> {
child: GridView.count(
crossAxisCount: MediaQuery.of(context).size.width ~/
200, // Adjust the value based on screen width
childAspectRatio: 1.0, // Aspect ratio of items
childAspectRatio: 0.8, // Aspect ratio of items
children: List.generate(
items.length,
(index) => ItemTile(
Expand Down
8 changes: 3 additions & 5 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: learn
description: "Learning app for kids"
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
publish_to: "none" # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
Expand All @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.1.0+15

environment:
sdk: '>=3.2.0 <4.0.0'
sdk: ">=3.2.0 <4.0.0"

# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
Expand All @@ -31,7 +31,6 @@ dependencies:
flutter:
sdk: flutter


# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
google_fonts: ^6.1.0
Expand All @@ -42,7 +41,7 @@ dependencies:
card_swiper: ^3.0.1
flutter_card_swiper: ^7.0.0
adaptive_theme: ^3.6.0
fluttertoast: 8.0.9
fluttertoast: ^8.2.5
google_nav_bar: ^5.0.6
flutter_bloc: ^8.1.5
animated_text_kit: ^4.2.2
Expand All @@ -65,7 +64,6 @@ dev_dependencies:

# The following section is specific to Flutter packages.
flutter:

# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
Expand Down

0 comments on commit 9ba1e1d

Please sign in to comment.