Browse Source

fix: glassy button size on tablet

pull/40/head
AmirrezaChegini 1 month ago
parent
commit
70d7a35757
  1. 16
      lib/features/question/presentation/ui/screens/question_screen.dart
  2. 11
      lib/features/question/presentation/ui/widgets/glassy_button.dart

16
lib/features/question/presentation/ui/screens/question_screen.dart

@ -29,9 +29,9 @@ class QuestionScreen extends StatelessWidget {
return Column( return Column(
children: [ children: [
_stepper(), _stepper(),
_titles(),
_titles(context),
MySpaces.s20.gapHeight, MySpaces.s20.gapHeight,
_answers(),
_answers(context),
_bottom(context), _bottom(context),
], ],
); );
@ -54,9 +54,9 @@ class QuestionScreen extends StatelessWidget {
); );
} }
Widget _titles() {
Widget _titles(BuildContext context) {
return Expanded( return Expanded(
flex: 15,
flex: setSize(context: context, mobile: 15, tablet: 5) ?? 1,
child: BlocBuilder<QuestionBloc, QuestionState>( child: BlocBuilder<QuestionBloc, QuestionState>(
buildWhen: (previous, current) => buildWhen: (previous, current) =>
previous.currentQuestion?.id != current.currentQuestion?.id, previous.currentQuestion?.id != current.currentQuestion?.id,
@ -80,16 +80,16 @@ class QuestionScreen extends StatelessWidget {
); );
} }
Expanded _answers() {
Expanded _answers(BuildContext context) {
return Expanded( return Expanded(
flex: 85,
flex: setSize(context: context, mobile: 85, tablet: 95) ?? 1,
child: BlocBuilder<QuestionBloc, QuestionState>( child: BlocBuilder<QuestionBloc, QuestionState>(
buildWhen: (previous, current) => buildWhen: (previous, current) =>
previous.currentQuestion?.id != current.currentQuestion?.id, previous.currentQuestion?.id != current.currentQuestion?.id,
builder: (context, state) => GridView.builder( builder: (context, state) => GridView.builder(
itemCount: state.currentQuestion?.answers?.length ?? 0, itemCount: state.currentQuestion?.answers?.length ?? 0,
padding: EdgeInsets.symmetric( padding: EdgeInsets.symmetric(
horizontal: setSize(context: context, tablet: 50) ?? 0,
horizontal: setSize(context: context, tablet: 70) ?? 0,
), ),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2, crossAxisCount: 2,
@ -155,6 +155,8 @@ class QuestionScreen extends StatelessWidget {
), ),
child: MyImage( child: MyImage(
image: MyAssets.globe, image: MyAssets.globe,
fit: BoxFit.cover,
size: setSize(context: context, tablet: 120),
), ),
), ),
), ),

11
lib/features/question/presentation/ui/widgets/glassy_button.dart

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hadi_hoda_flutter/common_ui/resources/my_spaces.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_spaces.dart';
import 'package:hadi_hoda_flutter/core/utils/set_platform_size.dart';
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart';
import 'package:hadi_hoda_flutter/core/widgets/inkwell/my_inkwell.dart'; import 'package:hadi_hoda_flutter/core/widgets/inkwell/my_inkwell.dart';
@ -15,8 +16,8 @@ class GlassyButton extends StatelessWidget {
return Material( return Material(
color: Colors.transparent, color: Colors.transparent,
child: Ink( child: Ink(
width: 48,
height: 48,
width: setSize(context: context, mobile: 48, tablet: 80),
height: setSize(context: context, mobile: 48, tablet: 80),
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.circle, shape: BoxShape.circle,
gradient: LinearGradient( gradient: LinearGradient(
@ -34,8 +35,10 @@ class GlassyButton extends StatelessWidget {
audio: audio, audio: audio,
borderRadius: BorderRadius.all(Radius.circular(100)), borderRadius: BorderRadius.all(Radius.circular(100)),
child: Padding( child: Padding(
padding: const EdgeInsets.all(MySpaces.s12),
child: MyImage(image: image, size: MySpaces.s22),
padding: EdgeInsets.all(
setSize(context: context, mobile: MySpaces.s12, tablet: MySpaces.s20) ?? 0,
),
child: MyImage(image: image),
), ),
), ),
), ),

Loading…
Cancel
Save