From d1a9e3312387b6c47e6186af506787a8a66369d1 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期六, 09 十一月 2024 18:40:36 +0800 Subject: [PATCH] fix --- app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 46 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt index 079c1b9..a909bac 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/course/TeacherFragment.kt @@ -4,14 +4,21 @@ import android.webkit.WebSettings import android.webkit.WebViewClient import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager import cn.sinata.xldutils.fragment.BaseFragment +import cn.sinata.xldutils.gone +import cn.sinata.xldutils.visible +import com.sinata.xqmuse.MainActivity import com.sinata.xqmuse.R import com.sinata.xqmuse.network.HttpManager import com.sinata.xqmuse.network.entity.CourseBean import com.sinata.xqmuse.network.requestByF import com.sinata.xqmuse.ui.course.adapter.CourseGridAdapter +import com.sinata.xqmuse.utils.Const +import com.sinata.xqmuse.utils.event.EmptyEvent import kotlinx.android.synthetic.main.fragment_teacher.* +import org.greenrobot.eventbus.EventBus +import org.greenrobot.eventbus.Subscribe +import xyz.doikki.videocontroller.StandardVideoController class TeacherFragment : BaseFragment() { override fun contentViewId() = R.layout.fragment_teacher @@ -20,6 +27,10 @@ private val adapter = CourseGridAdapter(list) override fun onFirstVisibleToUser() { + val controller = StandardVideoController(requireContext()) + controller.addDefaultControlComponent("", false) + mVideoView.setVideoController(controller) //设置控制器 + val settings = webView.settings settings.javaScriptEnabled = true settings.javaScriptCanOpenWindowsAutomatically = true @@ -35,12 +46,29 @@ rv_course.layoutManager = GridLayoutManager(requireContext(),2) rv_course.adapter = adapter getData() + adapter.setOnItemClickListener { view, position -> + showDialog() + HttpManager.getPayCourseInfoById(list[position].id).requestByF(this,success = { _, data-> + dismissDialog() + data?.goDetail(requireContext()) + }){_,_-> + dismissDialog() + } + } + iv_play_teacher.setOnClickListener { + iv_cover.gone() + iv_play_teacher.gone() + mVideoView.start() + } + EventBus.getDefault().register(this) } private fun getData(){ HttpManager.getCoursePageList().requestByF(this){_,data-> + (requireActivity() as MainActivity).teacherVideoView = mVideoView mVideoView.setUrl(data?.videoUrl) - mVideoView.start() + iv_cover.setImageURI(data?.coverUrl) + iv_play_teacher.visible() val sHead = "<html><head><meta name=\"viewport\" content=\"width=device-width, " + "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" + "<style>img{max-width:100% !important;height:auto !important;}</style>" + "<style>body{max-width:100% !important;}</style>" + "</head><body>" webView!!.loadDataWithBaseURL(null, sHead + data?.tutorIntroduction, "text/html", "utf-8", null) @@ -49,4 +77,20 @@ adapter.notifyDataSetChanged() } } + + @Subscribe + fun pause(e:EmptyEvent){ + if (e.code == Const.EventCode.PAUSE_TEACHER_VIDEO) + mVideoView.pause() + } + + override fun onPause() { + super.onPause() + mVideoView.pause() + } + + override fun onDestroy() { + super.onDestroy() + EventBus.getDefault().unregister(this) + } } -- Gitblit v1.7.1