Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
7da17db6
Commit
7da17db6
authored
May 16, 2022
by
万齐军
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feature: 倾诉首页ui,与点击事件
parent
31597ce1
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
167 additions
and
52 deletions
+167
-52
ConfideHomeActivity.kt
m-confide/src/main/java/com/ydl/confide/home/ConfideHomeActivity.kt
+21
-10
ConfideHomeAdapter.kt
m-confide/src/main/java/com/ydl/confide/home/adapter/ConfideHomeAdapter.kt
+1
-2
VideoShowAdapter.kt
m-confide/src/main/java/com/ydl/confide/home/adapter/VideoShowAdapter.kt
+5
-5
ConfideHomeEventImpl.kt
m-confide/src/main/java/com/ydl/confide/home/event/ConfideHomeEventImpl.kt
+5
-2
IConfideHomeEvent.kt
m-confide/src/main/java/com/ydl/confide/home/event/IConfideHomeEvent.kt
+1
-1
ExpertIntroActivity.kt
m-confide/src/main/java/com/ydl/confide/intro/ExpertIntroActivity.kt
+31
-2
IntroAdapter.kt
m-confide/src/main/java/com/ydl/confide/intro/IntroAdapter.kt
+13
-3
ItemIntroHolder.kt
m-confide/src/main/java/com/ydl/confide/intro/ItemIntroHolder.kt
+48
-20
ic_chat.png
m-confide/src/main/res/drawable-xxhdpi/ic_chat.png
+0
-0
ic_confide_record.png
m-confide/src/main/res/drawable-xxhdpi/ic_confide_record.png
+0
-0
ic_video_chat.png
m-confide/src/main/res/drawable-xxhdpi/ic_video_chat.png
+0
-0
ic_video_eval.png
m-confide/src/main/res/drawable-xxhdpi/ic_video_eval.png
+0
-0
ic_video_share.png
m-confide/src/main/res/drawable-xxhdpi/ic_video_share.png
+0
-0
activity_expert_intro.xml
m-confide/src/main/res/layout/activity_expert_intro.xml
+7
-3
confide_title_bar.xml
m-confide/src/main/res/layout/confide_title_bar.xml
+3
-3
item_expert_intro.xml
m-confide/src/main/res/layout/item_expert_intro.xml
+20
-1
YDLShareDialog.kt
ydl-platform/src/main/java/com/ydl/ydlcommon/view/dialog/YDLShareDialog.kt
+12
-0
No files found.
m-confide/src/main/java/com/ydl/confide/home/ConfideHomeActivity.kt
View file @
7da17db6
...
@@ -2,13 +2,15 @@ package com.ydl.confide.home
...
@@ -2,13 +2,15 @@ package com.ydl.confide.home
import
android.annotation.SuppressLint
import
android.annotation.SuppressLint
import
android.content.Context
import
android.content.Context
import
android.graphics.Color
import
android.os.Build
import
android.os.Build
import
android.view.View
import
android.view.View
import
android.
widget.LinearLayout
import
android.
view.WindowManager
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.SimpleItemAnimator
import
androidx.recyclerview.widget.SimpleItemAnimator
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.alibaba.android.arouter.launcher.ARouter
import
com.bumptech.glide.Glide
import
com.bumptech.glide.Glide
import
com.bumptech.glide.load.engine.DiskCacheStrategy
import
com.bumptech.glide.load.engine.DiskCacheStrategy
import
com.jcodecraeer.xrecyclerview.ProgressStyle
import
com.jcodecraeer.xrecyclerview.ProgressStyle
...
@@ -31,17 +33,18 @@ import com.ydl.confide.router.PhoneCallIn
...
@@ -31,17 +33,18 @@ import com.ydl.confide.router.PhoneCallIn
import
com.ydl.webview.H5Params
import
com.ydl.webview.H5Params
import
com.ydl.webview.NewH5Activity
import
com.ydl.webview.NewH5Activity
import
com.ydl.ydl_image.listener.YDLImageRecyclerOnScrollListener
import
com.ydl.ydl_image.listener.YDLImageRecyclerOnScrollListener
import
com.ydl.ydlcommon.base.config.HttpConfig.Companion.H5_URL
import
com.ydl.ydlcommon.base.config.HttpConfig.Companion.YDL_H5
import
com.ydl.ydlcommon.base.config.HttpConfig.Companion.YDL_H5
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.modular.ModularServiceManager
import
com.ydl.ydlcommon.mvp.lce.BaseLceActivity
import
com.ydl.ydlcommon.mvp.lce.BaseLceActivity
import
com.ydl.ydlcommon.utils.BuryPointUtils
import
com.ydl.ydlcommon.utils.BuryPointUtils
import
com.ydl.ydlcommon.utils.StatusBarUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.utils.remind.ToastHelper
import
com.ydl.ydlcommon.view.DrawableRightTextView
import
com.ydl.ydlcommon.view.DrawableRightTextView
import
com.ydl.ydlcommon.view.WrapContentLinearLayoutManager
import
com.ydl.ydlcommon.view.WrapContentLinearLayoutManager
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.consultant.api.IConsultantService
import
com.yidianling.consultant.api.IConsultantService
import
com.yidianling.im.api.service.IImService
import
kotlinx.android.synthetic.main.confide_home_activity.*
import
kotlinx.android.synthetic.main.confide_home_activity.*
import
kotlinx.android.synthetic.main.confide_title_bar.*
import
kotlinx.android.synthetic.main.confide_title_bar.*
...
@@ -187,7 +190,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
...
@@ -187,7 +190,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
initClick
()
initClick
()
initQuickConsultDialog
()
initQuickConsultDialog
()
initStatus
();
initStatus
Bar
()
ModularServiceManager
.
provide
(
IConsultantService
::
class
.
java
).
showConfideListDialog
(
this
)
ModularServiceManager
.
provide
(
IConsultantService
::
class
.
java
).
showConfideListDialog
(
this
)
ActionCountUtils
.
count
(
"daoyi_advertisement_page|daoyi_advertisement_visit"
,
"17"
)
ActionCountUtils
.
count
(
"daoyi_advertisement_page|daoyi_advertisement_visit"
,
"17"
)
Glide
.
with
(
this
)
Glide
.
with
(
this
)
...
@@ -200,13 +203,12 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
...
@@ -200,13 +203,12 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
/**
/**
* 初始化状态栏位置
* 初始化状态栏位置
*/
*/
private
fun
initStatus
()
{
private
fun
initStatusBar
()
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
//4.4以下不支持状态栏变色
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
M
)
{
StatusBarUtils
.
setTransparentForImageView
(
this
,
null
)
window
?.
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
)
val
statusBarHeight
=
StatusBarUtils
.
getStatusBarHeight
(
this
)
window
?.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
)
val
lp1
=
rl_confide_title_layout
.
layoutParams
as
LinearLayout
.
LayoutParams
window
?.
statusBarColor
=
Color
.
WHITE
lp1
.
height
=
(
RxImageTool
.
dp2px
(
48f
)
+
statusBarHeight
)
window
?.
decorView
?.
systemUiVisibility
=
View
.
SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
rl_confide_title_layout
.
setPadding
(
0
,
statusBarHeight
,
0
,
0
)
}
}
}
}
...
@@ -257,6 +259,15 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
...
@@ -257,6 +259,15 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
val
h5Paramsqing
=
H5Params
(
YDL_H5
+
"confideOrderList"
,
null
)
val
h5Paramsqing
=
H5Params
(
YDL_H5
+
"confideOrderList"
,
null
)
NewH5Activity
.
start
(
this
,
h5Paramsqing
)
NewH5Activity
.
start
(
this
,
h5Paramsqing
)
}
}
findViewById
<
View
>(
R
.
id
.
img_customer
)
?.
setOnClickListener
{
val
imService
=
ARouter
.
getInstance
().
navigation
(
IImService
::
class
.
java
)
imService
?.
startKefuChat
(
this
,
""
,
0
,
0
)
}
findViewById
<
View
>(
R
.
id
.
img_help
)
?.
setOnClickListener
{
val
params
=
H5Params
(
H5_URL
+
"help/"
,
""
)
params
.
isShowMenu
=
true
NewH5Activity
.
start
(
this
,
params
)
}
ll_bar_root
.
setOnClickListener
{
ll_bar_root
.
setOnClickListener
{
}
}
...
...
m-confide/src/main/java/com/ydl/confide/home/adapter/ConfideHomeAdapter.kt
View file @
7da17db6
...
@@ -153,8 +153,7 @@ class ConfideHomeAdapter(private val mContext: Context,
...
@@ -153,8 +153,7 @@ class ConfideHomeAdapter(private val mContext: Context,
holder
.
rv
.
layoutManager
=
holder
.
rv
.
layoutManager
=
LinearLayoutManager
(
holder
.
itemView
.
context
,
RecyclerView
.
HORIZONTAL
,
false
)
LinearLayoutManager
(
holder
.
itemView
.
context
,
RecyclerView
.
HORIZONTAL
,
false
)
val
recentBody
=
mListData
!!
[
position
].
body
val
recentBody
=
mListData
!!
[
position
].
body
val
data
=
recentBody
?.
map
{
ItemVideoShowViewModel
().
mapOf
(
it
)
}
?:
emptyList
()
holder
.
rv
.
adapter
=
VideoShowAdapter
(
recentBody
,
confideHomeEvent
)
holder
.
rv
.
adapter
=
VideoShowAdapter
(
data
,
confideHomeEvent
)
}
else
if
(
holder
is
EmptyViewHolder
)
{
}
else
if
(
holder
is
EmptyViewHolder
)
{
}
else
{
}
else
{
...
...
m-confide/src/main/java/com/ydl/confide/home/adapter/VideoShowAdapter.kt
View file @
7da17db6
...
@@ -9,12 +9,12 @@ import com.ydl.confide.R
...
@@ -9,12 +9,12 @@ import com.ydl.confide.R
import
com.ydl.confide.databinding.ItemConfideHomeRecentBinding
import
com.ydl.confide.databinding.ItemConfideHomeRecentBinding
import
com.ydl.confide.databinding.ItemVideoShowBinding
import
com.ydl.confide.databinding.ItemVideoShowBinding
import
com.ydl.confide.home.bean.ConfideHomeBodyBean
import
com.ydl.confide.home.bean.ConfideHomeBodyBean
import
com.ydl.confide.home.bean.ConfideHomeDataBean
import
com.ydl.confide.home.event.IConfideHomeEvent
import
com.ydl.confide.home.event.IConfideHomeEvent
import
com.ydl.confide.intro.BindingViewHolder
import
com.ydl.confide.intro.BindingViewHolder
class
VideoShowAdapter
(
private
val
data
:
List
<
ItemVideoShowViewModel
>
,
private
val
event
:
IConfideHomeEvent
)
:
class
VideoShowAdapter
(
private
val
data
:
List
<
ConfideHomeBodyBean
>?
,
private
val
event
:
IConfideHomeEvent
)
:
RecyclerView
.
Adapter
<
BindingViewHolder
<
ItemVideoShowBinding
>>()
{
RecyclerView
.
Adapter
<
BindingViewHolder
<
ItemVideoShowBinding
>>()
{
private
val
dataList
:
List
<
ItemVideoShowViewModel
>
=
data
?.
map
{
ItemVideoShowViewModel
().
mapOf
(
it
)
}
?:
emptyList
()
override
fun
onCreateViewHolder
(
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
parent
:
ViewGroup
,
viewType
:
Int
viewType
:
Int
...
@@ -26,12 +26,12 @@ class VideoShowAdapter(private val data: List<ItemVideoShowViewModel>, private v
...
@@ -26,12 +26,12 @@ class VideoShowAdapter(private val data: List<ItemVideoShowViewModel>, private v
}
}
override
fun
onBindViewHolder
(
holder
:
BindingViewHolder
<
ItemVideoShowBinding
>,
position
:
Int
)
{
override
fun
onBindViewHolder
(
holder
:
BindingViewHolder
<
ItemVideoShowBinding
>,
position
:
Int
)
{
val
itemVideoShowViewModel
=
data
[
position
]
val
itemVideoShowViewModel
=
data
List
[
position
]
holder
.
binding
.
item
=
itemVideoShowViewModel
holder
.
binding
.
item
=
itemVideoShowViewModel
holder
.
itemView
.
setOnClickListener
{
event
.
videoShowClick
(
position
)
}
holder
.
itemView
.
setOnClickListener
{
event
.
videoShowClick
(
position
,
data
)
}
}
}
override
fun
getItemCount
()
=
data
.
size
override
fun
getItemCount
()
=
data
List
.
size
}
}
...
...
m-confide/src/main/java/com/ydl/confide/home/event/ConfideHomeEventImpl.kt
View file @
7da17db6
...
@@ -13,6 +13,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
...
@@ -13,6 +13,7 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
import
com.tencent.smtt.sdk.WebSettings
import
com.tencent.smtt.sdk.WebSettings
import
com.ydl.confide.R
import
com.ydl.confide.R
import
com.alibaba.android.arouter.launcher.ARouter
import
com.alibaba.android.arouter.launcher.ARouter
import
com.alibaba.fastjson.JSON
import
com.ydl.confide.api.ConfideRoute
import
com.ydl.confide.api.ConfideRoute
import
com.ydl.confide.home.ConfideHomeActivity
import
com.ydl.confide.home.ConfideHomeActivity
import
com.ydl.confide.home.adapter.ConfideHomeAdapter
import
com.ydl.confide.home.adapter.ConfideHomeAdapter
...
@@ -185,8 +186,10 @@ class ConfideHomeEventImpl(context: Context, var confideHomeView: IConfideHomeCo
...
@@ -185,8 +186,10 @@ class ConfideHomeEventImpl(context: Context, var confideHomeView: IConfideHomeCo
// link(linkUrl)
// link(linkUrl)
}
}
override
fun
videoShowClick
(
index
:
Int
)
{
override
fun
videoShowClick
(
index
:
Int
,
data
:
List
<
ConfideHomeBodyBean
>?)
{
ARouter
.
getInstance
().
build
(
ConfideRoute
.
R_VIDEO_SHOW
).
withInt
(
"initPos"
,
index
).
navigation
()
val
dataJson
=
if
(
data
!=
null
)
JSON
.
toJSONString
(
data
)
else
null
ARouter
.
getInstance
().
build
(
ConfideRoute
.
R_VIDEO_SHOW
).
withInt
(
"initPos"
,
index
)
.
withString
(
"initData"
,
dataJson
).
navigation
()
}
}
/**
/**
...
...
m-confide/src/main/java/com/ydl/confide/home/event/IConfideHomeEvent.kt
View file @
7da17db6
...
@@ -75,7 +75,7 @@ interface IConfideHomeEvent {
...
@@ -75,7 +75,7 @@ interface IConfideHomeEvent {
*/
*/
fun
consultantClick
(
linkUrl
:
String
?)
fun
consultantClick
(
linkUrl
:
String
?)
fun
videoShowClick
(
index
:
Int
)
fun
videoShowClick
(
index
:
Int
,
data
:
List
<
ConfideHomeBodyBean
>?
)
/**
/**
* 咨询师推荐--更多情感恋爱专家
* 咨询师推荐--更多情感恋爱专家
...
...
m-confide/src/main/java/com/ydl/confide/intro/ExpertIntroActivity.kt
View file @
7da17db6
...
@@ -9,10 +9,19 @@ import androidx.databinding.DataBindingUtil
...
@@ -9,10 +9,19 @@ import androidx.databinding.DataBindingUtil
import
androidx.viewpager2.widget.ViewPager2
import
androidx.viewpager2.widget.ViewPager2
import
com.alibaba.android.arouter.facade.annotation.Autowired
import
com.alibaba.android.arouter.facade.annotation.Autowired
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.alibaba.android.arouter.launcher.ARouter
import
com.alibaba.fastjson.JSON
import
com.ydl.confide.R
import
com.ydl.confide.R
import
com.ydl.confide.api.ConfideRoute
import
com.ydl.confide.api.ConfideRoute
import
com.ydl.confide.databinding.ActivityExpertIntroBinding
import
com.ydl.confide.databinding.ActivityExpertIntroBinding
import
com.ydl.confide.home.bean.ConfideHomeBodyBean
import
com.ydl.confide.home.bean.ConfideHomeDataBean
import
com.ydl.confide.home.util.ConfideNetworkUtil
import
com.ydl.confide.home.util.ConfideNetworkUtil
import
com.ydl.confide.router.PhoneCallIn
import
com.ydl.webview.H5Params
import
com.ydl.webview.NewH5Activity
import
com.ydl.ydlcommon.base.config.HttpConfig.Companion.YDL_H5
import
com.ydl.ydlcommon.utils.BuryPointUtils
import
com.ydl.ydlcommon.view.dialog.CommonDialog
import
com.ydl.ydlcommon.view.dialog.CommonDialog
...
@@ -22,7 +31,10 @@ class ExpertIntroActivity : AppCompatActivity() {
...
@@ -22,7 +31,10 @@ class ExpertIntroActivity : AppCompatActivity() {
@Autowired
@Autowired
@JvmField
@JvmField
var
initPos
:
Int
=
0
var
initPos
:
Int
=
0
@Autowired
@JvmField
var
initData
:
String
?=
null
private
var
lastSelectPos
=
0
private
lateinit
var
binding
:
ActivityExpertIntroBinding
private
lateinit
var
binding
:
ActivityExpertIntroBinding
private
lateinit
var
adapter
:
IntroAdapter
private
lateinit
var
adapter
:
IntroAdapter
...
@@ -30,6 +42,7 @@ class ExpertIntroActivity : AppCompatActivity() {
...
@@ -30,6 +42,7 @@ class ExpertIntroActivity : AppCompatActivity() {
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
ARouter
.
getInstance
().
inject
(
this
)
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_expert_intro
)
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_expert_intro
)
if
(
Build
.
VERSION
.
SDK_INT
>=
21
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
21
)
{
val
decorView
=
window
.
decorView
val
decorView
=
window
.
decorView
...
@@ -38,7 +51,22 @@ class ExpertIntroActivity : AppCompatActivity() {
...
@@ -38,7 +51,22 @@ class ExpertIntroActivity : AppCompatActivity() {
decorView
.
systemUiVisibility
=
option
decorView
.
systemUiVisibility
=
option
window
.
statusBarColor
=
Color
.
TRANSPARENT
window
.
statusBarColor
=
Color
.
TRANSPARENT
}
}
if
(
initData
!=
null
){
val
beans
=
JSON
.
parseArray
(
initData
,
ConfideHomeBodyBean
::
class
.
java
)
val
vms
=
beans
.
map
{
VideoViewModel
().
mapOf
(
it
)
}
data
.
addAll
(
vms
)
}
binding
.
ivBack
.
setOnClickListener
{
onBackPressed
()
}
binding
.
ivBack
.
setOnClickListener
{
onBackPressed
()
}
binding
.
tvConfideRecord
.
setOnClickListener
{
if
(!
PhoneCallIn
.
loginByOneKeyLogin
(
this
,
true
))
{
return
@setOnClickListener
}
BuryPointUtils
.
getInstance
().
createMap
()
.
put
(
"mine_name"
,
"倾诉记录"
)
.
burryPoint
(
"mine"
)
val
h5Paramsqing
=
H5Params
(
YDL_H5
+
"confideOrderList"
,
null
)
NewH5Activity
.
start
(
this
,
h5Paramsqing
)
}
data
.
add
(
VideoViewModel
())
data
.
add
(
VideoViewModel
())
data
.
add
(
VideoViewModel
())
data
.
add
(
VideoViewModel
())
data
.
add
(
VideoViewModel
())
data
.
add
(
VideoViewModel
())
...
@@ -51,9 +79,10 @@ class ExpertIntroActivity : AppCompatActivity() {
...
@@ -51,9 +79,10 @@ class ExpertIntroActivity : AppCompatActivity() {
binding
.
viewPager
.
registerOnPageChangeCallback
(
object
:
ViewPager2
.
OnPageChangeCallback
()
{
binding
.
viewPager
.
registerOnPageChangeCallback
(
object
:
ViewPager2
.
OnPageChangeCallback
()
{
override
fun
onPageSelected
(
position
:
Int
)
{
override
fun
onPageSelected
(
position
:
Int
)
{
adapter
.
onSelect
(
position
)
adapter
.
onSelect
(
position
)
if
(
position
==
data
.
size
-
1
)
{
if
(
position
==
data
.
size
-
1
&&
lastSelectPos
<
position
)
{
loadMore
()
loadMore
()
}
}
lastSelectPos
=
position
}
}
})
})
adapter
.
checkNetwork
()
adapter
.
checkNetwork
()
...
...
m-confide/src/main/java/com/ydl/confide/intro/IntroAdapter.kt
View file @
7da17db6
...
@@ -42,13 +42,12 @@ internal class IntroAdapter(
...
@@ -42,13 +42,12 @@ internal class IntroAdapter(
false
false
)
)
val
holder
=
ItemIntroHolder
(
binding
)
val
holder
=
ItemIntroHolder
(
binding
)
lifecycleOwner
.
lifecycle
.
addObserver
(
holder
)
return
holder
return
holder
}
}
override
fun
onBindViewHolder
(
holder
:
ItemIntroHolder
,
position
:
Int
)
{
override
fun
onBindViewHolder
(
holder
:
ItemIntroHolder
,
position
:
Int
)
{
holder
.
onBind
()
val
item
=
data
[
position
]
val
item
=
data
[
position
]
holder
.
onBind
(
item
)
holder
.
binding
.
item
=
item
holder
.
binding
.
item
=
item
}
}
...
@@ -105,7 +104,6 @@ internal class IntroAdapter(
...
@@ -105,7 +104,6 @@ internal class IntroAdapter(
val
video
=
videoViews
.
get
(
adapterPosition
)
val
video
=
videoViews
.
get
(
adapterPosition
)
video
?.
release
(
true
)
video
?.
release
(
true
)
videoViews
.
remove
(
adapterPosition
)
videoViews
.
remove
(
adapterPosition
)
lifecycleOwner
.
lifecycle
.
removeObserver
(
holder
)
holder
.
onDetach
()
holder
.
onDetach
()
}
}
...
@@ -120,6 +118,18 @@ internal class IntroAdapter(
...
@@ -120,6 +118,18 @@ internal class IntroAdapter(
}
}
}
}
@OnLifecycleEvent
(
Lifecycle
.
Event
.
ON_RESUME
)
private
fun
onResume
()
{
val
ijkVideoView
=
videoViews
[
curPos
]
ijkVideoView
?.
start
()
}
@OnLifecycleEvent
(
Lifecycle
.
Event
.
ON_PAUSE
)
private
fun
onPause
()
{
val
ijkVideoView
=
videoViews
[
curPos
]
ijkVideoView
?.
pause
()
}
fun
onSelect
(
position
:
Int
)
{
fun
onSelect
(
position
:
Int
)
{
curPos
=
position
curPos
=
position
if
(!
ConfideNetworkUtil
.
isWifi
(
context
)
&&
!
hasAgreePlayWithoutWiFi
)
{
if
(!
ConfideNetworkUtil
.
isWifi
(
context
)
&&
!
hasAgreePlayWithoutWiFi
)
{
...
...
m-confide/src/main/java/com/ydl/confide/intro/ItemIntroHolder.kt
View file @
7da17db6
package
com.ydl.confide.intro
package
com.ydl.confide.intro
import
android.app.Activity
import
android.util.Log
import
android.util.Log
import
android.view.View
import
android.view.View
import
android.widget.SeekBar
import
android.widget.SeekBar
import
androidx.databinding.ObservableField
import
androidx.databinding.ObservableField
import
androidx.databinding.ObservableInt
import
androidx.databinding.ObservableInt
import
androidx.databinding.ViewDataBinding
import
androidx.databinding.ViewDataBinding
import
androidx.lifecycle.Lifecycle
import
androidx.lifecycle.LifecycleObserver
import
androidx.lifecycle.OnLifecycleEvent
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView
import
com.alibaba.android.arouter.launcher.ARouter
import
com.dou361.ijkplayer.widget.IjkVideoView
import
com.dou361.ijkplayer.widget.IjkVideoView
import
com.ydl.confide.databinding.ItemExpertIntroBinding
import
com.ydl.confide.databinding.ItemExpertIntroBinding
import
com.ydl.confide.home.bean.ConfideHomeBodyBean
import
com.ydl.ydlcommon.view.dialog.YDLShareDialog
import
com.yidianling.im.api.service.IImService
import
io.reactivex.Observable
import
io.reactivex.Observable
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.disposables.Disposable
import
io.reactivex.disposables.Disposable
...
@@ -20,7 +22,7 @@ import tv.danmaku.ijk.media.player.IjkMediaPlayer
...
@@ -20,7 +22,7 @@ import tv.danmaku.ijk.media.player.IjkMediaPlayer
import
java.util.concurrent.TimeUnit
import
java.util.concurrent.TimeUnit
internal
class
ItemIntroHolder
(
binding
:
ItemExpertIntroBinding
)
:
internal
class
ItemIntroHolder
(
binding
:
ItemExpertIntroBinding
)
:
BindingViewHolder
<
ItemExpertIntroBinding
>(
binding
)
,
LifecycleObserver
{
BindingViewHolder
<
ItemExpertIntroBinding
>(
binding
)
{
companion
object
{
companion
object
{
private
const
val
TAG
=
"ItemIntroHolder"
private
const
val
TAG
=
"ItemIntroHolder"
}
}
...
@@ -33,11 +35,23 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
...
@@ -33,11 +35,23 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
video
?.
release
(
true
)
video
?.
release
(
true
)
}
}
fun
onBind
()
{
fun
onBind
(
item
:
VideoViewModel
)
{
binding
.
btnCall
.
setOnClickListener
{
}
binding
.
btnCall
.
setOnClickListener
{
}
binding
.
btnChat
.
setOnClickListener
{
}
binding
.
btnChat
.
setOnClickListener
{
val
aty
=
it
.
context
as
?
Activity
if
(
aty
!=
null
&&
!
item
.
uid
.
isNullOrEmpty
())
{
ARouter
.
getInstance
().
navigation
(
IImService
::
class
.
java
)
?.
startChat
(
aty
,
item
.
uid
!!
,
0
,
0
)
}
}
binding
.
btnEvaluate
.
setOnClickListener
{
}
binding
.
btnEvaluate
.
setOnClickListener
{
}
binding
.
btnShare
.
setOnClickListener
{
}
binding
.
vDisableClick
.
setOnClickListener
{
}
binding
.
btnShare
.
setOnClickListener
{
val
aty
=
it
.
context
as
?
Activity
if
(
aty
!=
null
)
{
val
dialog
=
YDLShareDialog
.
style8
(
aty
,
"title"
,
"url"
,
";sss"
,
"head"
)
dialog
.
show
(
aty
.
fragmentManager
,
"share"
)
}
}
binding
.
videoView
.
setOnClickListener
{
binding
.
videoView
.
setOnClickListener
{
video
?.
pause
()
video
?.
pause
()
binding
.
ivPlay
.
visibility
=
View
.
VISIBLE
binding
.
ivPlay
.
visibility
=
View
.
VISIBLE
...
@@ -99,17 +113,6 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
...
@@ -99,17 +113,6 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
private
fun
stopTiming
()
{
private
fun
stopTiming
()
{
disposable
?.
dispose
()
disposable
?.
dispose
()
}
}
@OnLifecycleEvent
(
Lifecycle
.
Event
.
ON_RESUME
)
private
fun
onResume
()
{
video
?.
onResume
()
}
@OnLifecycleEvent
(
Lifecycle
.
Event
.
ON_PAUSE
)
private
fun
onPause
()
{
video
?.
onPause
()
}
}
}
class
VideoViewModel
{
class
VideoViewModel
{
...
@@ -118,11 +121,35 @@ class VideoViewModel {
...
@@ -118,11 +121,35 @@ class VideoViewModel {
val
count
=
ObservableInt
()
val
count
=
ObservableInt
()
val
intro
=
ObservableField
<
String
>(
""
)
val
intro
=
ObservableField
<
String
>(
""
)
val
tag
=
ObservableField
<
String
>(
""
)
val
tag
=
ObservableField
<
String
>(
""
)
var
playUrl
:
String
?
=
"https://video.ydlcdn.com/2020/04/01/ac2e4bb4e3ac8e2f0eca41e2d49c8484.mp4"
var
playUrl
:
String
?
=
null
//
"https://video.ydlcdn.com/2020/04/01/ac2e4bb4e3ac8e2f0eca41e2d49c8484.mp4"
var
coverUrl
:
String
?
=
null
var
coverUrl
=
ObservableField
<
String
>(
""
)
var
isVideo
=
true
var
isVideo
=
true
var
uid
:
String
?
=
null
var
linkUrl
:
String
?
=
null
}
}
internal
fun
VideoViewModel
.
mapOf
(
bean
:
ConfideHomeBodyBean
):
VideoViewModel
{
name
.
set
(
bean
.
confidedName
)
avatar
.
set
(
bean
.
confidedIcon
)
// count.set(bean.confideHearNum)
intro
.
set
(
bean
.
categoryContent
)
val
sb
=
StringBuilder
()
bean
.
confidedTag
?.
forEach
{
sb
.
append
(
it
).
append
(
"|"
)
}
sb
.
setLength
(
sb
.
length
-
1
)
tag
.
set
(
sb
.
toString
())
if
(
bean
.
videoUrl
!=
null
)
{
playUrl
=
bean
.
videoUrl
isVideo
=
true
coverUrl
.
set
(
bean
.
coverVideoPicture
)
}
else
{
playUrl
=
bean
.
confideVoice
isVideo
=
false
coverUrl
.
set
(
bean
.
coverPicture
)
}
uid
=
bean
.
uid
?.
toString
()
linkUrl
=
bean
.
linkUrl
return
this
}
open
class
BindingViewHolder
<
T
:
ViewDataBinding
>(
val
binding
:
T
)
:
open
class
BindingViewHolder
<
T
:
ViewDataBinding
>(
val
binding
:
T
)
:
RecyclerView
.
ViewHolder
(
binding
.
root
)
RecyclerView
.
ViewHolder
(
binding
.
root
)
\ No newline at end of file
m-confide/src/main/res/drawable-xxhdpi/ic_chat.png
deleted
100644 → 0
View file @
31597ce1
1.45 KB
m-confide/src/main/res/drawable-xxhdpi/ic_confide_record.png
0 → 100644
View file @
7da17db6
895 Bytes
m-confide/src/main/res/drawable-xxhdpi/ic_video_chat.png
0 → 100644
View file @
7da17db6
2.42 KB
m-confide/src/main/res/drawable-xxhdpi/ic_video_eval.png
View replaced file @
31597ce1
View file @
7da17db6
1.45 KB
|
W:
|
H:
2.4 KB
|
W:
|
H:
2-up
Swipe
Onion skin
m-confide/src/main/res/drawable-xxhdpi/ic_video_share.png
View replaced file @
31597ce1
View file @
7da17db6
1.13 KB
|
W:
|
H:
1.94 KB
|
W:
|
H:
2-up
Swipe
Onion skin
m-confide/src/main/res/layout/activity_expert_intro.xml
View file @
7da17db6
...
@@ -28,14 +28,17 @@
...
@@ -28,14 +28,17 @@
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:shape=
"@{1}"
app:shape=
"@{1}"
app:shapeBg=
"@{0x33
ff
0000}"
app:shapeBg=
"@{0x33
00
0000}"
tools:ignore=
"ContentDescription"
/>
tools:ignore=
"ContentDescription"
/>
<TextView
<TextView
android:id=
"@+id/tvConfideRecord"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"16dp"
android:layout_marginRight=
"16dp"
android:drawableLeft=
"@drawable/ic_confide_record"
android:drawablePadding=
"4dp"
android:gravity=
"center"
android:gravity=
"center"
android:padding=
"8dp"
android:padding=
"8dp"
android:paddingHorizontal=
"8dp"
android:paddingHorizontal=
"8dp"
...
@@ -46,9 +49,10 @@
...
@@ -46,9 +49,10 @@
app:layout_constraintBottom_toBottomOf=
"@+id/ivBack"
app:layout_constraintBottom_toBottomOf=
"@+id/ivBack"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"@+id/ivBack"
app:layout_constraintTop_toTopOf=
"@+id/ivBack"
app:shapeBg=
"@{0x26
f
00000}"
app:shapeBg=
"@{0x26
0
00000}"
app:shapeRadius=
"@{15}"
app:shapeRadius=
"@{15}"
app:shapeStrokeColor=
"@{0xFFFFFF}"
/>
app:shapeStrokeWidth=
"@{1}"
app:shapeStrokeColor=
"@{0xFFFFFFFF}"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
</layout>
m-confide/src/main/res/layout/confide_title_bar.xml
View file @
7da17db6
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
android:id=
"@+id/rl_confide_title_layout"
android:id=
"@+id/rl_confide_title_layout"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"48dp"
android:layout_height=
"48dp"
android:background=
"@
drawable/confide_common_bg
"
android:background=
"@
color/white
"
android:orientation=
"horizontal"
>
android:orientation=
"horizontal"
>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
android:layout_height=
"0dp"
android:layout_height=
"0dp"
android:layout_gravity=
"center_vertical"
android:layout_gravity=
"center_vertical"
android:scaleType=
"center"
android:scaleType=
"center"
android:src=
"@drawable/
confide
_back"
android:src=
"@drawable/
platform_common
_back"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
android:layout_weight=
"1"
android:layout_weight=
"1"
android:gravity=
"center"
android:gravity=
"center"
android:text=
"@string/confide_title"
android:text=
"@string/confide_title"
android:textColor=
"
#FFFFFF
"
android:textColor=
"
@color/black
"
android:textSize=
"17dp"
android:textSize=
"17dp"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
/>
app:layout_constraintRight_toRightOf=
"parent"
/>
...
...
m-confide/src/main/res/layout/item_expert_intro.xml
View file @
7da17db6
...
@@ -35,6 +35,15 @@
...
@@ -35,6 +35,15 @@
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
<View
android:id=
"@+id/vDisableClick"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"@+id/tvName"
/>
<SeekBar
<SeekBar
android:id=
"@+id/seekbar"
android:id=
"@+id/seekbar"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
...
@@ -42,7 +51,9 @@
...
@@ -42,7 +51,9 @@
android:layout_marginBottom=
"23dp"
android:layout_marginBottom=
"23dp"
android:maxHeight=
"4dp"
android:maxHeight=
"4dp"
android:paddingStart=
"0dp"
android:paddingStart=
"0dp"
android:paddingTop=
"4dp"
android:paddingEnd=
"0dp"
android:paddingEnd=
"0dp"
android:paddingBottom=
"4dp"
android:progressDrawable=
"@drawable/confide_seekbar_style"
android:progressDrawable=
"@drawable/confide_seekbar_style"
android:splitTrack=
"false"
android:splitTrack=
"false"
android:thumb=
"@drawable/confide_seekbar_thumb"
android:thumb=
"@drawable/confide_seekbar_thumb"
...
@@ -116,6 +127,8 @@
...
@@ -116,6 +127,8 @@
android:layout_marginRight=
"18dp"
android:layout_marginRight=
"18dp"
android:layout_marginBottom=
"56dp"
android:layout_marginBottom=
"56dp"
android:drawableTop=
"@drawable/ic_video_share"
android:drawableTop=
"@drawable/ic_video_share"
android:drawablePadding=
"6dp"
android:gravity=
"center_horizontal"
android:text=
"分享"
android:text=
"分享"
android:textColor=
"@color/white"
android:textColor=
"@color/white"
android:textSize=
"11sp"
android:textSize=
"11sp"
...
@@ -129,6 +142,8 @@
...
@@ -129,6 +142,8 @@
android:layout_marginRight=
"18dp"
android:layout_marginRight=
"18dp"
android:layout_marginBottom=
"20dp"
android:layout_marginBottom=
"20dp"
android:drawableTop=
"@drawable/ic_video_eval"
android:drawableTop=
"@drawable/ic_video_eval"
android:drawablePadding=
"6dp"
android:gravity=
"center_horizontal"
android:text=
"评价"
android:text=
"评价"
android:textColor=
"@color/white"
android:textColor=
"@color/white"
android:textSize=
"11sp"
android:textSize=
"11sp"
...
@@ -141,7 +156,9 @@
...
@@ -141,7 +156,9 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"18dp"
android:layout_marginRight=
"18dp"
android:layout_marginBottom=
"20dp"
android:layout_marginBottom=
"20dp"
android:drawableTop=
"@drawable/ic_chat"
android:drawableTop=
"@drawable/ic_video_chat"
android:drawablePadding=
"6dp"
android:gravity=
"center_horizontal"
android:text=
"私聊"
android:text=
"私聊"
android:textColor=
"@color/white"
android:textColor=
"@color/white"
android:textSize=
"11sp"
android:textSize=
"11sp"
...
@@ -152,6 +169,8 @@
...
@@ -152,6 +169,8 @@
android:layout_width=
"46dp"
android:layout_width=
"46dp"
android:layout_height=
"46dp"
android:layout_height=
"46dp"
android:layout_marginRight=
"10dp"
android:layout_marginRight=
"10dp"
android:layout_marginBottom=
"20dp"
app:imageUrl=
"@{item.avatar}"
app:layout_constraintBottom_toTopOf=
"@+id/btnChat"
app:layout_constraintBottom_toTopOf=
"@+id/btnChat"
app:layout_constraintRight_toRightOf=
"parent"
/>
app:layout_constraintRight_toRightOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
...
...
ydl-platform/src/main/java/com/ydl/ydlcommon/view/dialog/YDLShareDialog.kt
View file @
7da17db6
...
@@ -90,6 +90,7 @@ class YDLShareDialog : DialogFragment {
...
@@ -90,6 +90,7 @@ class YDLShareDialog : DialogFragment {
const
val
TYPE5
=
5
const
val
TYPE5
=
5
const
val
TYPE6
=
6
const
val
TYPE6
=
6
const
val
TYPE7
=
7
const
val
TYPE7
=
7
const
val
TYPE8
=
8
/**
/**
* 点击事件类型 1.动态 2.删除 3.举报 4.返回首页 5:生成海报 6:保存本地 7:分享纯图片
* 点击事件类型 1.动态 2.删除 3.举报 4.返回首页 5:生成海报 6:保存本地 7:分享纯图片
*/
*/
...
@@ -142,6 +143,11 @@ class YDLShareDialog : DialogFragment {
...
@@ -142,6 +143,11 @@ class YDLShareDialog : DialogFragment {
typeStyle
=
TYPE7
typeStyle
=
TYPE7
return
YDLShareDialog
(
activity
,
shareTitle
,
shareUrl
,
shareContent
,
shareHead
,
minProgramPath
,
minProgramId
)
return
YDLShareDialog
(
activity
,
shareTitle
,
shareUrl
,
shareContent
,
shareHead
,
minProgramPath
,
minProgramId
)
}
}
//只有微信和朋友圈
fun
style8
(
activity
:
Activity
,
shareTitle
:
String
?,
shareUrl
:
String
?,
shareContent
:
String
?,
shareHead
:
String
?):
YDLShareDialog
{
typeStyle
=
TYPE8
return
YDLShareDialog
(
activity
,
shareTitle
,
shareUrl
,
shareContent
,
shareHead
)
}
}
}
override
fun
onCreateView
(
inflater
:
LayoutInflater
?,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?):
View
{
override
fun
onCreateView
(
inflater
:
LayoutInflater
?,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?):
View
{
...
@@ -229,6 +235,12 @@ class YDLShareDialog : DialogFragment {
...
@@ -229,6 +235,12 @@ class YDLShareDialog : DialogFragment {
ll_layout2
.
visibility
=
View
.
GONE
ll_layout2
.
visibility
=
View
.
GONE
ll_dynamic
.
visibility
=
View
.
GONE
ll_dynamic
.
visibility
=
View
.
GONE
}
}
TYPE8
->
{
ll_layout2
.
visibility
=
View
.
GONE
ll_dynamic
.
visibility
=
View
.
GONE
ll_qq
.
visibility
=
View
.
GONE
ll_qqzone
.
visibility
=
View
.
GONE
}
}
}
showPictureView
()
showPictureView
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment