From 718f31c92e2029d05260810435a2c70cef6e6ce5 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期四, 24 四月 2025 10:45:55 +0800 Subject: [PATCH] save --- app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt | 44 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 34 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt b/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt index 08bb885..35d28d9 100644 --- a/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt +++ b/app/src/main/java/com/sinata/xqmuse/ui/course/OfflineCourseActivity.kt @@ -1,5 +1,6 @@ package com.sinata.xqmuse.ui.course +import android.view.View import android.webkit.WebChromeClient import android.webkit.WebSettings import android.webkit.WebViewClient @@ -7,16 +8,22 @@ import cn.sinata.xldutils.utils.isVideo import cn.sinata.xldutils.utils.showAllowingStateLoss import cn.sinata.xldutils.visible +import com.share.utils.ShareUtils import com.sinata.xqmuse.R import com.sinata.xqmuse.dialog.QrcodeDialog import com.sinata.xqmuse.dialog.ShareDialog +import com.sinata.xqmuse.network.Apis import com.sinata.xqmuse.network.HttpManager import com.sinata.xqmuse.network.entity.CourseDetail import com.sinata.xqmuse.network.request import com.sinata.xqmuse.ui.TransparentStatusBarActivity +import com.sinata.xqmuse.utils.Const import com.sinata.xqmuse.utils.glide.GlideUtil import com.sinata.xqmuse.utils.interfaces.StringCallback +import com.umeng.socialize.bean.SHARE_MEDIA import kotlinx.android.synthetic.main.activity_offline_course.* +import org.jetbrains.anko.backgroundColor +import org.jetbrains.anko.backgroundResource import xyz.doikki.videocontroller.StandardVideoController import xyz.doikki.videoplayer.player.BaseVideoView.* @@ -25,6 +32,7 @@ override fun setContentView() = R.layout.activity_offline_course private val data by lazy { intent.getParcelableExtra<CourseDetail>("data") } + private var first = true //第一次 加载视频封面 override fun initClick() { iv_back.setOnClickListener { finish() } @@ -32,15 +40,23 @@ val shareDialog = ShareDialog() shareDialog.callback = object :StringCallback{ override fun onResult(rst: String) { - + if (rst == "wx"){ + ShareUtils.share(this@OfflineCourseActivity, + SHARE_MEDIA.WEIXIN,data?.courseTitle, Const.SHARE.SHARE_COURSE_TITLE, + Apis.SHARE_OFFLINE.format(data?.id),null,"") + }else{ + ShareUtils.share(this@OfflineCourseActivity, + SHARE_MEDIA.WEIXIN_CIRCLE,data?.courseTitle,Const.SHARE.SHARE_COURSE_TITLE, + Apis.SHARE_OFFLINE.format(data?.id),null,"") + } } } shareDialog.showAllowingStateLoss(supportFragmentManager,"share") } iv_collect.setOnClickListener { HttpManager.collectCourse(data?.id?:"").request(this){_,_-> - data?.recommend = if (data?.recommend == 1) 2 else 1 - iv_collect.setImageResource(if (data?.recommend == 1) R.mipmap.collected else R.mipmap.uncollect) + data?.isCollect = if (data?.isCollect == 1) 2 else 1 + iv_collect.setImageResource(if (data?.isCollect == 1) R.mipmap.collected else R.mipmap.uncollect) } } ivPlay.setOnClickListener { @@ -66,15 +82,18 @@ settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING webView.webChromeClient = object : WebChromeClient() {} webView.webViewClient = object : WebViewClient() {} + webView.backgroundColor = 0 + webView.background.alpha = 0 data?.apply { - iv_collect.setImageResource(if (data?.recommend == 1) R.mipmap.collected else R.mipmap.uncollect) - if (detailUrl.isVideo()){ + iv_collect.setImageResource(if (data?.isCollect == 1) R.mipmap.collected else R.mipmap.uncollect) + if ((detailUrl?:"").isVideo()){ titleBar.gone() val controller = StandardVideoController(this@OfflineCourseActivity) controller.addDefaultControlComponent(courseTitle, false) mVideoView.setVideoController(controller) //设置控制器 mVideoView.setUrl(detailUrl) //设置视频地址 - GlideUtil.load(this@OfflineCourseActivity, detailUrl, iv_cover, 0) +// GlideUtil.load(this@OfflineCourseActivity, detailUrl, iv_cover, 0) + mVideoView.start() }else{ cl_title.gone() iv_cover.gone() @@ -83,7 +102,7 @@ } tv_name.text = courseTitle tv_teacher.text = "导师 ${tutor}" - tv_address.text = address + tv_address.text = address?:"" 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( @@ -106,11 +125,16 @@ override fun onPlayStateChanged(playState: Int) { when(playState){ STATE_PLAYING->{ - iv_cover.gone() + if (first){ + mVideoView.pause() +// iv_cover.gone() + ivPlay.visible() + first = false + } } STATE_PLAYBACK_COMPLETED->{ - iv_cover.visible() - ivPlay.visible() +// iv_cover.visible() +// ivPlay.visible() } } } -- Gitblit v1.7.1