
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
1번 사진에서 테스트 눌러서 2번사진으로 진행되야되는데 자꾸 3번사진으로 되네요.. 아까 창을 작게 하면서 먼가 갑자기 변경된것 같은데 ..
어떻게 진행해야하나요?
1번사진

2번사진

3번사진

작성한 코드 및 에러 메세지
오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.
Tip 1) </>import '/auth/firebase_auth/auth_util.dart';
import '/flutter_flow/flutter_flow_animations.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'dart:math';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'auth2_profile_model.dart';
export 'auth2_profile_model.dart';
class Auth2ProfileWidget extends StatefulWidget {
const Auth2ProfileWidget({super.key});
@override
State<Auth2ProfileWidget> createState() => _Auth2ProfileWidgetState();
}
class _Auth2ProfileWidgetState extends State<Auth2ProfileWidget>
with TickerProviderStateMixin {
late Auth2ProfileModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
final animationsMap = <String, AnimationInfo>{};
@override
void initState() {
super.initState();
_model = createModel(context, () => Auth2ProfileModel());
animationsMap.addAll({
'containerOnPageLoadAnimation': AnimationInfo(
trigger: AnimationTrigger.onPageLoad,
effectsBuilder: () => [
VisibilityEffect(duration: 1.ms),
FadeEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 400.0.ms,
begin: 0.0,
end: 1.0,
),
ScaleEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 400.0.ms,
begin: Offset(3.0, 3.0),
end: Offset(1.0, 1.0),
),
],
),
'buttonOnPageLoadAnimation': AnimationInfo(
trigger: AnimationTrigger.onPageLoad,
effectsBuilder: () => [
VisibilityEffect(duration: 400.ms),
FadeEffect(
curve: Curves.easeInOut,
delay: 400.0.ms,
duration: 600.0.ms,
begin: 0.0,
end: 1.0,
),
MoveEffect(
curve: Curves.easeInOut,
delay: 400.0.ms,
duration: 600.0.ms,
begin: Offset(0.0, 60.0),
end: Offset(0.0, 0.0),
),
],
),
});
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
FocusScope.of(context).unfocus();
FocusManager.instance.primaryFocus?.unfocus();
},
child: Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).secondaryBackground,
body: Align(
alignment: AlignmentDirectional(0, -1),
child: Container(
width: double.infinity,
constraints: BoxConstraints(
maxWidth: 770,
),
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).secondaryBackground,
),
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: 180,
child: Stack(
children: [
Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 16),
child: Container(
width: double.infinity,
height: 140,
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
FlutterFlowTheme.of(context).primary,
FlutterFlowTheme.of(context).error,
FlutterFlowTheme.of(context).tertiary
],
stops: [0, 0.5, 1],
begin: AlignmentDirectional(-1, -1),
end: AlignmentDirectional(1, 1),
),
),
child: Container(
width: 100,
height: 200,
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
Color(0x00FFFFFF),
FlutterFlowTheme.of(context)
.secondaryBackground
],
stops: [0, 1],
begin: AlignmentDirectional(0, -1),
end: AlignmentDirectional(0, 1),
),
),
),
).animateOnPageLoad(
animationsMap['containerOnPageLoadAnimation']!),
),
Align(
alignment: AlignmentDirectional(-1, 1),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(24, 0, 0, 0),
child: Container(
width: 90,
height: 90,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).accent2,
shape: BoxShape.circle,
border: Border.all(
color: FlutterFlowTheme.of(context).secondary,
width: 2,
),
),
child: Padding(
padding: EdgeInsets.all(4),
child: AuthUserStreamWidget(
builder: (context) => ClipRRect(
borderRadius: BorderRadius.circular(50),
child: CachedNetworkImage(
fadeInDuration: Duration(milliseconds: 500),
fadeOutDuration:
Duration(milliseconds: 500),
imageUrl: currentUserPhoto,
width: 100,
height: 100,
fit: BoxFit.cover,
),
),
),
),
),
),
),
],
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(24, 12, 0, 0),
child: AuthUserStreamWidget(
builder: (context) => Text(
currentUserDisplayName,
style: FlutterFlowTheme.of(context).displaySmall.override(
fontFamily: 'Inter Tight',
letterSpacing: 0.0,
),
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(24, 4, 0, 16),
child: Text(
valueOrDefault<String>(
currentUserEmail,
'andrew@domainname.com',
),
style: FlutterFlowTheme.of(context).labelLarge.override(
fontFamily: 'Inter',
color: FlutterFlowTheme.of(context).primary,
letterSpacing: 0.0,
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(24, 4, 0, 0),
child: Text(
'Your Account',
style: FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 12, 16, 0),
child: InkWell(
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor: Colors.transparent,
onTap: () async {
context.pushNamed('auth_2_EditProfile');
},
child: Container(
width: double.infinity,
height: 60,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).secondaryBackground,
boxShadow: [
BoxShadow(
blurRadius: 3,
color: Color(0x33000000),
offset: Offset(
0,
1,
),
)
],
borderRadius: BorderRadius.circular(8),
shape: BoxShape.rectangle,
border: Border.all(
color: FlutterFlowTheme.of(context).alternate,
width: 1,
),
),
child: Padding(
padding: EdgeInsets.all(12),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Icon(
Icons.account_circle_outlined,
color: FlutterFlowTheme.of(context).secondaryText,
size: 24,
),
Padding(
padding:
EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0),
child: Text(
'Edit Profile',
style: FlutterFlowTheme.of(context)
.labelLarge
.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
Expanded(
child: Align(
alignment: AlignmentDirectional(0.9, 0),
child: Icon(
Icons.arrow_forward_ios,
color: FlutterFlowTheme.of(context)
.secondaryText,
size: 18,
),
),
),
],
),
),
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(24, 16, 0, 0),
child: Text(
'App Settings',
style: FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 12, 16, 0),
child: Container(
width: double.infinity,
height: 60,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).secondaryBackground,
boxShadow: [
BoxShadow(
blurRadius: 3,
color: Color(0x33000000),
offset: Offset(
0,
1,
),
)
],
borderRadius: BorderRadius.circular(8),
shape: BoxShape.rectangle,
border: Border.all(
color: FlutterFlowTheme.of(context).alternate,
width: 1,
),
),
child: Padding(
padding: EdgeInsets.all(12),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Icon(
Icons.help_outline_rounded,
color: FlutterFlowTheme.of(context).secondaryText,
size: 24,
),
Padding(
padding:
EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0),
child: Text(
'Support',
style: FlutterFlowTheme.of(context)
.labelLarge
.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
Expanded(
child: Align(
alignment: AlignmentDirectional(0.9, 0),
child: Icon(
Icons.arrow_forward_ios,
color:
FlutterFlowTheme.of(context).secondaryText,
size: 18,
),
),
),
],
),
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(16, 12, 16, 0),
child: Container(
width: double.infinity,
height: 60,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).secondaryBackground,
boxShadow: [
BoxShadow(
blurRadius: 3,
color: Color(0x33000000),
offset: Offset(
0,
1,
),
)
],
borderRadius: BorderRadius.circular(8),
shape: BoxShape.rectangle,
border: Border.all(
color: FlutterFlowTheme.of(context).alternate,
width: 1,
),
),
child: Padding(
padding: EdgeInsets.all(12),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Icon(
Icons.privacy_tip_rounded,
color: FlutterFlowTheme.of(context).secondaryText,
size: 24,
),
Padding(
padding:
EdgeInsetsDirectional.fromSTEB(12, 0, 0, 0),
child: Text(
'Terms of Service',
style: FlutterFlowTheme.of(context)
.labelLarge
.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
),
),
Expanded(
child: Align(
alignment: AlignmentDirectional(0.9, 0),
child: Icon(
Icons.arrow_forward_ios,
color:
FlutterFlowTheme.of(context).secondaryText,
size: 18,
),
),
),
],
),
),
),
),
Align(
alignment: AlignmentDirectional(0, 0),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 16, 0, 0),
child: FFButtonWidget(
onPressed: () async {
GoRouter.of(context).prepareAuthEvent();
await authManager.signOut();
GoRouter.of(context).clearRedirectLocation();
context.goNamedAuth('auth_2_Create', context.mounted);
},
text: 'Log Out',
options: FFButtonOptions(
width: 150,
height: 44,
padding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
iconPadding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
color: FlutterFlowTheme.of(context).primaryBackground,
textStyle:
FlutterFlowTheme.of(context).bodyLarge.override(
fontFamily: 'Inter',
letterSpacing: 0.0,
),
elevation: 0,
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).alternate,
width: 1,
),
borderRadius: BorderRadius.circular(12),
),
).animateOnPageLoad(
animationsMap['buttonOnPageLoadAnimation']!),
),
),
],
),
),
),
),
);
}
}
아이콘을 눌러 코드박스를 만들어 보세요.
Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!
