스크롤 초기화 기능 추가

This commit is contained in:
girinb
2025-07-14 16:28:11 +09:00
parent 05f56e91cc
commit 2e825bbae2

View File

@@ -51,6 +51,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
late int _currentBottomNavIndex;
String? _selectedYoutubeUrl;
PlanDetailItem? _selectedItem; // <<< 선택된 아이템을 저장할 변수 추가
final ScrollController _scrollController = ScrollController(); // 스크롤 컨트롤러 추가
@override
void initState() {
@@ -124,6 +125,12 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
);
}
@override
void dispose() {
_scrollController.dispose(); // 스크롤 컨트롤러 해제
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -191,6 +198,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
final item = details[index];
return GestureDetector(
onTap: () {
_scrollController.jumpTo(0); // 스크롤 맨 위로 이동
setState(() {
_selectedItem = item;
if (item.lessonUrl.isNotEmpty &&
@@ -292,6 +300,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
),
Expanded(
child: SingleChildScrollView(
controller: _scrollController, // 스크롤 컨트롤러 연결
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -337,7 +346,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
),
),
IconButton(
icon: const Icon(Icons.play_circle_fill, size: 40, color: Colors.red),
icon: const Icon(Icons.play_circle_fill, size: 40, color: Colors.blue),
onPressed: () {
if (_selectedYoutubeUrl != null && _selectedYoutubeUrl!.isNotEmpty) {
Navigator.push(