forked from eatvio/eatvio_app
feat(consultant): add scroll to end animation
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:eatvio_app/widgets/custom_text_form_field.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:eatvio_app/core/utils/date_time_utils.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
|
||||
class CertificatesAndDiplomasScreen extends StatefulWidget {
|
||||
const CertificatesAndDiplomasScreen({super.key});
|
||||
@@ -12,6 +13,8 @@ class CertificatesAndDiplomasScreen extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _CertificatesAndDiplomasScreenState extends State<CertificatesAndDiplomasScreen> {
|
||||
final scrollController = ScrollController();
|
||||
|
||||
List<DiplomaEntity> diplomasList = [
|
||||
DiplomaEntity(
|
||||
textEditingController: TextEditingController(),
|
||||
@@ -24,6 +27,7 @@ class _CertificatesAndDiplomasScreenState extends State<CertificatesAndDiplomasS
|
||||
Widget build(BuildContext context) {
|
||||
return SingleChildScrollView(
|
||||
physics: const BouncingScrollPhysics(),
|
||||
controller: scrollController,
|
||||
padding: EdgeInsets.only(bottom: 80, right: 16, left: 16, top: 16),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
@@ -177,6 +181,13 @@ class _CertificatesAndDiplomasScreenState extends State<CertificatesAndDiplomasS
|
||||
date: null,
|
||||
),
|
||||
);
|
||||
SchedulerBinding.instance.addPostFrameCallback((_) {
|
||||
scrollController.animateTo(
|
||||
scrollController.position.maxScrollExtent,
|
||||
duration: const Duration(milliseconds: 250),
|
||||
curve: Curves.fastOutSlowIn,
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user