스크롤 초기화 기능 추가
This commit is contained in:
@@ -51,6 +51,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
|
|||||||
late int _currentBottomNavIndex;
|
late int _currentBottomNavIndex;
|
||||||
String? _selectedYoutubeUrl;
|
String? _selectedYoutubeUrl;
|
||||||
PlanDetailItem? _selectedItem; // <<< 선택된 아이템을 저장할 변수 추가
|
PlanDetailItem? _selectedItem; // <<< 선택된 아이템을 저장할 변수 추가
|
||||||
|
final ScrollController _scrollController = ScrollController(); // 스크롤 컨트롤러 추가
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
@@ -124,6 +125,12 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_scrollController.dispose(); // 스크롤 컨트롤러 해제
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
@@ -191,6 +198,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
|
|||||||
final item = details[index];
|
final item = details[index];
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
|
_scrollController.jumpTo(0); // 스크롤 맨 위로 이동
|
||||||
setState(() {
|
setState(() {
|
||||||
_selectedItem = item;
|
_selectedItem = item;
|
||||||
if (item.lessonUrl.isNotEmpty &&
|
if (item.lessonUrl.isNotEmpty &&
|
||||||
@@ -292,6 +300,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
|
|||||||
),
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: SingleChildScrollView(
|
child: SingleChildScrollView(
|
||||||
|
controller: _scrollController, // 스크롤 컨트롤러 연결
|
||||||
padding: const EdgeInsets.all(16.0),
|
padding: const EdgeInsets.all(16.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -337,7 +346,7 @@ class _PlanPageDetailState extends State<PlanPageDetail> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
IconButton(
|
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: () {
|
onPressed: () {
|
||||||
if (_selectedYoutubeUrl != null && _selectedYoutubeUrl!.isNotEmpty) {
|
if (_selectedYoutubeUrl != null && _selectedYoutubeUrl!.isNotEmpty) {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
|
|||||||
Reference in New Issue
Block a user