스크롤 초기화 기능 추가
This commit is contained in:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user