Commit bc980cbc authored by NguyenTienManh's avatar NguyenTienManh

update 14-2

parent 68255175
...@@ -92,7 +92,6 @@ class CourseDetailWidget extends StatelessWidget { ...@@ -92,7 +92,6 @@ class CourseDetailWidget extends StatelessWidget {
physics: const AlwaysScrollableScrollPhysics(), physics: const AlwaysScrollableScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return return
// chapters[index].listLesson!.isNotEmpty?
ExpansionTile( ExpansionTile(
title: Text(chapters[index].name!), title: Text(chapters[index].name!),
children: [ children: [
......
...@@ -3,33 +3,16 @@ import 'package:flutter/material.dart'; ...@@ -3,33 +3,16 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:youtube_player_flutter/youtube_player_flutter.dart'; import 'package:youtube_player_flutter/youtube_player_flutter.dart';
class PlayVideoPage extends StatefulWidget { class PlayVideoPage extends StatelessWidget {
String link; String link;
PlayVideoPage({required this.link,Key? key}) : super(key: key); PlayVideoPage({required this.link,Key? key}) : super(key: key);
@override
State<PlayVideoPage> createState() => _PlayVideoPageState();
}
class _PlayVideoPageState extends State<PlayVideoPage> {
late YoutubePlayerController _controller; late YoutubePlayerController _controller;
// late TextEditingController _idController;
// late TextEditingController _seekToController;
// final List<String> _ids = [
// 'nPt8bK2gbaU',
// ];
@override @override
void initState() { Widget build(BuildContext context) {
super.initState(); _controller = YoutubePlayerController(
_controller = initialVideoId: YoutubePlayer.convertUrlToId(link).toString(),
YoutubePlayerController(
// initialVideoId: "nPt8bK2gbaU",
// initialVideoId: widget.link,
initialVideoId: YoutubePlayer.convertUrlToId(widget.link).toString(),
flags: const YoutubePlayerFlags( flags: const YoutubePlayerFlags(
mute: false, mute: false,
autoPlay: true, autoPlay: true,
...@@ -38,50 +21,18 @@ class _PlayVideoPageState extends State<PlayVideoPage> { ...@@ -38,50 +21,18 @@ class _PlayVideoPageState extends State<PlayVideoPage> {
isLive: false, isLive: false,
forceHD: false, forceHD: false,
enableCaption: true, enableCaption: true,
), ),
); );
}
@override
void deactivate() {
// Pauses video while navigating to next page.
_controller.pause();
super.deactivate();
}
@override
void dispose() {
_controller.dispose();
// _idController.dispose();
// _seekToController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return return
YoutubePlayerBuilder( YoutubePlayerBuilder(
onExitFullScreen: () { onExitFullScreen: () {SystemChrome.setPreferredOrientations(DeviceOrientation.values);},
SystemChrome.setPreferredOrientations(DeviceOrientation.values);
},
player: YoutubePlayer( player: YoutubePlayer(
controller: _controller, controller: _controller,
showVideoProgressIndicator: true, showVideoProgressIndicator: true,
progressIndicatorColor: Colors.blueAccent, progressIndicatorColor: Colors.blueAccent,
// onReady: () {
// _isPlayerReady = true;
// },
// onEnded: (data) {
// _controller
// .load(_ids[(_ids.indexOf(data.videoId) + 1) % _ids.length]);
// },
), ),
builder: (context, player) => Scaffold( builder: (context, player) => Scaffold(
appBar: AppBar(title: Text(YoutubePlayer.convertUrlToId(widget.link).toString()),), appBar: AppBar(title: Text(YoutubePlayer.convertUrlToId(link).toString()),),
body: Container(child: player), body: Container(child: player),
), ),
); );
......
...@@ -5,6 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; ...@@ -5,6 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:ongbut_ntmanh/app/module/course/model/list_data.dart'; import 'package:ongbut_ntmanh/app/module/course/model/list_data.dart';
import '../../const/colors.dart'; import '../../const/colors.dart';
import '../../res/images/images.dart'; import '../../res/images/images.dart';
import '../../widgets/widgets_util.dart';
import '../module/course/bloc/course_bloc.dart'; import '../module/course/bloc/course_bloc.dart';
import '../module/course/model/course_model.dart'; import '../module/course/model/course_model.dart';
import '../module/coursedetail/widgets/course_detail.dart'; import '../module/coursedetail/widgets/course_detail.dart';
...@@ -20,7 +21,7 @@ class SearchWidget extends StatelessWidget { ...@@ -20,7 +21,7 @@ class SearchWidget extends StatelessWidget {
RequestCourse(context: context)); RequestCourse(context: context));
return return
Scaffold( Scaffold(
appBar: AppBar(title: Text('Tat ca cac khoa hoc'),), appBar: AppBar(title: const Text('Tat ca cac khoa hoc')),
body: body:
BlocBuilder<CourseBloc, CourseState>( BlocBuilder<CourseBloc, CourseState>(
builder: (context, state) { builder: (context, state) {
...@@ -107,8 +108,7 @@ Widget _courseList( listData, BuildContext context) { ...@@ -107,8 +108,7 @@ Widget _courseList( listData, BuildContext context) {
StackTrace? stackTrace) { StackTrace? stackTrace) {
return Image.asset(Images.load_err); return Image.asset(Images.load_err);
}, },
height: 130, height: checkLandscape(context)?getHeight(context)*0.25:getHeight(context)*0.15,
// height: checkLandscape(context)?getHeight(context)*0.25:getHeight(context)*0.15,
width: double.maxFinite, width: double.maxFinite,
), ),
), ),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment