Commit 0a3b0410 by 万齐军

Merge branch 'feat/qj/confide_2.0' into 'd/v_confide_2.0'

Feat/qj/confide 2.0

See merge request app_android_lib/YDL-Component!9
parents b958799d 1fce3f89
...@@ -94,7 +94,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -94,7 +94,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
/** /**
* 页(从第二页开始) * 页(从第二页开始)
*/ */
private var page: Int = 2 private var page: Int = 1
//筛选参数bean //筛选参数bean
private var allFiltersBean: ConfideHomeAllFiltersBean? = null private var allFiltersBean: ConfideHomeAllFiltersBean? = null
//用于置顶筛选模块监听 //用于置顶筛选模块监听
...@@ -137,17 +137,17 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -137,17 +137,17 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
*/ */
override fun onRefresh() { override fun onRefresh() {
//重置页 //重置页
page = 2 page = 1
allFiltersBean!!.page = page allFiltersBean!!.page = page
mPresenter.confideHomeRequest(true) mPresenter.confideHomeRequest(true)
recommendList(page)
} }
/** /**
* 上拉加载更多 * 上拉加载更多
*/ */
override fun onLoadMore() { override fun onLoadMore() {
recommendList(page) recommendList(page + 1)
page++
} }
override fun recommendList(page: Int) { override fun recommendList(page: Int) {
...@@ -187,8 +187,8 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -187,8 +187,8 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
//显示加载中 //显示加载中
// showProgressDialog() // showProgressDialog()
//加载本地缓存 //加载本地缓存
mPresenter.loadLocalData(this) // mPresenter.loadLocalData(this)
rv_list.refresh()
initClick() initClick()
initQuickConsultDialog() initQuickConsultDialog()
initStatusBar() initStatusBar()
...@@ -408,7 +408,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo ...@@ -408,7 +408,7 @@ class ConfideHomeActivity : BaseLceActivity<IConfideHomeContract.View,IConfideHo
*/ */
private fun updateCacheDataByRecommend(bean: ConfideHomeDataBean) { private fun updateCacheDataByRecommend(bean: ConfideHomeDataBean) {
//需要重置一下页码 //需要重置一下页码
page = 2 page = 1
if (null == cacheList) { if (null == cacheList) {
cacheList = ArrayList() cacheList = ArrayList()
} }
......
...@@ -15,7 +15,7 @@ import com.ydl.confide.intro.BindingViewHolder ...@@ -15,7 +15,7 @@ import com.ydl.confide.intro.BindingViewHolder
class VideoShowAdapter(private val data: List<ConfideHomeBodyBean>?, 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() 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
...@@ -74,7 +74,7 @@ internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoS ...@@ -74,7 +74,7 @@ internal fun ItemVideoShowViewModel.mapOf(bean: ConfideHomeBodyBean): ItemVideoS
name.set(bean.confidedName) name.set(bean.confidedName)
coverUrl.set(bean.coverPicture) coverUrl.set(bean.coverPicture)
videoCoverUrl.set(bean.coverVideoPicture) videoCoverUrl.set(bean.coverVideoPicture)
state.set(bean.confideLine?:0) state.set(bean.confideLine ?: 0)
linkUrl = bean.linkUrl linkUrl = bean.linkUrl
return this return this
} }
......
...@@ -35,7 +35,7 @@ class ConfideHomeHttpImpl private constructor() : IConfideHomeHttp { ...@@ -35,7 +35,7 @@ class ConfideHomeHttpImpl private constructor() : IConfideHomeHttp {
override fun confideHomeRequest(): Observable<BaseAPIResponse<MutableList<ConfideHomeDataBean>>> { override fun confideHomeRequest(): Observable<BaseAPIResponse<MutableList<ConfideHomeDataBean>>> {
return RxUtils.mapObservable(ConfideHomeParam(0)) return RxUtils.mapObservable(ConfideHomeParam(0))
.flatMap { .flatMap {
confideHomeApi.confideHome(HttpConfig.JAVA_BASE_URL + "auth/listen/home", 2) confideHomeApi.confideHome(HttpConfig.JAVA_BASE_URL + "auth/listen/nhome?listenVersion=2.0", 2)
} }
} }
......
...@@ -92,16 +92,6 @@ class ConfideHomePresenterImpl : BasePresenter<IConfideHomeContract.View,IConfid ...@@ -92,16 +92,6 @@ class ConfideHomePresenterImpl : BasePresenter<IConfideHomeContract.View,IConfid
}) })
} }
private fun testHome(){
var json = "[{\"type\":1,\"body\":[{\"bannerId\":\"23434\",\"bannerImageUrl\":\"https://img.ydlcdn.com/file/2018/09/18/335fb32fd39131f9159578bcc5a62863.jpg\",\"bannerTitle\":\"banner标题\",\"bannerLinkUrl\":\"app:qingsu/home?id=123\"},{\"bannerId\":\"23434\",\"bannerImageUrl\":\"https://img.ydlcdn.com/file/2018/09/18/335fb32fd39131f9159578bcc5a62863.jpg\",\"bannerLinkUrl\":\"app:qingsu/home?id=123\"}],\"diviLine\":0},{\"type\":2,\"body\":[{\"confidedId\":\"123\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideContent\":\"对你留言:没有人一出生就是完美的,只有不断地相信自己才能成就自己的梦\",\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":0,\"confideHearNum\":\"已聆听2882次\",\"confideHistory\":\"7月13日 你向TA倾诉过\",\"confideVoice\":\"http://ssssssssssssssssss\"}],\"head\":{\"title\":\"最近倾诉\"},\"diviLine\":1},{\"type\":3,\"body\":[{\"categoryId\":\"123\",\"categoryType\":1,\"categoryName\":\"倾诉指南\",\"categoryContent\":\"排忧疏导,隐私安全\",\"categoryIcon\":\"https://img.ydlcdn.com/file/2018/08/15/2d04ef1c734b3bed59b33bb73fed81db.png\",\"linkUrl\":\"ydl-user://h5/h5?url=http://www.yidianling.com\"},{\"categoryId\":\"123\",\"categoryType\":2,\"categoryName\":\"专业师资\",\"categoryContent\":\"1182人倾诉心事\",\"categoryIcon\":\"https://img.ydlcdn.com/file/2018/08/15/2d04ef1c734b3bed59b33bb73fed81db.png\"}],\"diviLine\":1},{\"type\":7,\"body\":[{\"confidedId\":\"123\",\"confidedTitle\":\"情感恋爱\",\"confideNum\":\"8513人\",\"confideBgUrl\":\"https://img.ydlcdn.com/file/2018/08/11/m8ueotgn50hgxaa2.png\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":1,\"confideConnection\":\"98%\",\"confideHearNum\":\"已聆听2882次\",\"confidedTag\":[\"80后\",\"婚姻家庭\",\"情感导师\",\"职场发展\"]},{\"confidedId\":\"123\",\"confidedTitle\":\"情感恋爱\",\"confideNum\":\"8513人\",\"confideBgUrl\":\"https://img.ydlcdn.com/file/2018/08/11/m8ueotgn50hgxaa2.png\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":2,\"confideConnection\":\"100%\",\"confideHearNum\":\"已聆听2882次\",\"confidedTag\":[\"80后\",\"婚姻家庭\",\"情感导师\",\"职场发展\"]},{\"confidedId\":\"123\",\"confidedTitle\":\"情感恋爱\",\"confideNum\":\"8513人\",\"confideBgUrl\":\"https://img.ydlcdn.com/file/2018/08/11/m8ueotgn50hgxaa2.png\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":3,\"confideConnection\":\"88%\",\"confideHearNum\":\"已聆听2882次\",\"confidedTag\":[\"80后\",\"婚姻家庭\",\"情感导师\",\"职场发展\"]}],\"head\":{\"title\":\"最佳倾诉榜单\"},\"diviLine\":1},{\"type\":4,\"body\":[{\"filterId\":\"123\",\"filterName\":\"综合排序\",\"filterType\":1,\"sortData\":[{\"id\":1,\"name\":\"综合排序\"},{\"id\":2,\"name\":\"人气从高到低\"},{\"id\":3,\"name\":\"时间从新到旧\"}]},{\"filterId\":\"456\",\"filterName\":\"性别年龄\",\"filterType\":2,\"sexTitle\":\"性别筛选\",\"sexData\":[{\"id\":1,\"name\":\"只看男生\"},{\"id\":2,\"name\":\"只看女生\"}],\"ageTitle\":\"年龄筛选\",\"ageData\":[{\"id\":1,\"name\":\"60后\"},{\"id\":2,\"name\":\"70后\"},{\"id\":3,\"name\":\"80后\"},{\"id\":4,\"name\":\"90后\"}]},{\"filterId\":\"789\",\"filterName\":\"擅长方向\",\"filterType\":3,\"goodTitle\":\"擅长方向\",\"goodData\":[{\"id\":1,\"name\":\"情感问题\"},{\"id\":2,\"name\":\"婚姻家庭\"},{\"id\":3,\"name\":\"情绪压力\"},{\"id\":4,\"name\":\"亲子教育\"}]}],\"diviLine\":1},{\"type\":5,\"body\":[{\"confidedId\":\"123\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideNum\":\"8513人\",\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedTag\":[\"80后\",\"婚姻家庭\",\"情感导师\",\"职场发展\"],\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":1,\"confideVoice\":\"http://ssssssssssssssssss\",\"confideConnection\":\"100%\"},{\"confidedId\":\"123\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideNum\":\"8513人\",\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedTag\":[\"80后\",\"婚姻家庭\",\"情感导师\",\"职场发展\"],\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":2,\"confideVoice\":\"http://ssssssssssssssssss\",\"confideConnection\":\"100%\"},{\"confidedId\":\"123\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideNum\":\"8513人\",\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedTag\":[\"80后\",\"婚姻家庭\",\"情感导师\",\"职场发展\"],\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":3,\"confideVoice\":\"http://ssssssssssssssssss\",\"confideConnection\":\"100%\"}],\"head\":{\"title\":\"为你推荐\"},\"diviLine\":1},{\"type\":6,\"body\":[{\"confidedId\":\"123\",\"confidedName\":\"黄蓉\",\"confideSex\":0,\"confideNum\":\"8513人\",\"confideVoice\":\"http://ssssssssssssssssss\",\"confideConnection\":\"100%\",\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":1,\"confideHearNum\":\"已聆听2882次\"},{\"confidedId\":\"123\",\"confidedName\":\"海伦\",\"confideSex\":0,\"confideNum\":\"8513人\",\"confideVoice\":\"http://ssssssssssssssssss\",\"confideConnection\":\"100%\",\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":2,\"confideHearNum\":\"已聆听2882次\"},{\"confidedId\":\"123\",\"confidedName\":\"海伦\",\"confideSex\":0,\"confideNum\":\"8513人\",\"confideVoice\":\"http://ssssssssssssssssss\",\"confideConnection\":\"100%\",\"confideContent\":\"没有人出生就是完美的,只有不断地相信自己才能成就自己的梦想\",\"confidedIcon\":\"https://img.ydlcdn.com/file/2018/03/15/p5hmpru0n0dt5331.png\",\"confideLine\":3,\"confideHearNum\":\"已聆听2882次\"}],\"head\":{\"title\":\"听声寻人\",\"subTitle\":\"更多\"},\"diviLine\":1}]"
val gson = Gson()
val list = gson.fromJson<MutableList<ConfideHomeDataBean>>(json, object : TypeToken<MutableList<ConfideHomeDataBean>>() {
}.type)
updateCache(list)
mView.confideHomeResponse(list)
}
/** /**
* 更新本地缓存 * 更新本地缓存
*/ */
......
...@@ -67,11 +67,6 @@ class ExpertIntroActivity : AppCompatActivity() { ...@@ -67,11 +67,6 @@ class ExpertIntroActivity : AppCompatActivity() {
val h5Paramsqing = H5Params(YDL_H5 + "confideOrderList", null) val h5Paramsqing = H5Params(YDL_H5 + "confideOrderList", null)
NewH5Activity.start(this, h5Paramsqing) NewH5Activity.start(this, h5Paramsqing)
} }
data.add(VideoViewModel())
data.add(VideoViewModel())
data.add(VideoViewModel())
data.add(VideoViewModel())
data.add(VideoViewModel())
binding.viewPager.orientation = ViewPager2.ORIENTATION_VERTICAL binding.viewPager.orientation = ViewPager2.ORIENTATION_VERTICAL
binding.viewPager.offscreenPageLimit = 1 binding.viewPager.offscreenPageLimit = 1
adapter = IntroAdapter(this, data, this) adapter = IntroAdapter(this, data, this)
...@@ -89,11 +84,11 @@ class ExpertIntroActivity : AppCompatActivity() { ...@@ -89,11 +84,11 @@ class ExpertIntroActivity : AppCompatActivity() {
} }
private fun loadMore() { private fun loadMore() {
data.add(VideoViewModel()) // data.add(VideoViewModel())
data.add(VideoViewModel()) // data.add(VideoViewModel())
data.add(VideoViewModel()) // data.add(VideoViewModel())
data.add(VideoViewModel()) // data.add(VideoViewModel())
data.add(VideoViewModel()) // data.add(VideoViewModel())
adapter.notifyItemRangeInserted(data.size - 5, 5) // adapter.notifyItemRangeInserted(data.size - 5, 5)
} }
} }
\ No newline at end of file
...@@ -29,6 +29,8 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -29,6 +29,8 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
private var disposable: Disposable? = null private var disposable: Disposable? = null
private var video: IjkVideoView? = null private var video: IjkVideoView? = null
@Volatile
private var isTouch = false
fun onDetach() { fun onDetach() {
stopTiming() stopTiming()
...@@ -66,9 +68,11 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -66,9 +68,11 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
} }
override fun onStartTrackingTouch(seekBar: SeekBar?) { override fun onStartTrackingTouch(seekBar: SeekBar?) {
isTouch = true
} }
override fun onStopTrackingTouch(seekBar: SeekBar?) { override fun onStopTrackingTouch(seekBar: SeekBar?) {
isTouch = false
if (seekBar != null) { if (seekBar != null) {
video?.seekTo(seekBar.progress) video?.seekTo(seekBar.progress)
video?.start() video?.start()
...@@ -102,6 +106,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -102,6 +106,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
disposable = Observable.interval(300, TimeUnit.MILLISECONDS) disposable = Observable.interval(300, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.computation()) .subscribeOn(Schedulers.computation())
.filter { !isTouch }
.subscribe { .subscribe {
val pos = (video?.mMediaPlayer as IjkMediaPlayer?)?.currentPosition ?: 0 val pos = (video?.mMediaPlayer as IjkMediaPlayer?)?.currentPosition ?: 0
if (pos > 0) { if (pos > 0) {
...@@ -118,7 +123,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) : ...@@ -118,7 +123,7 @@ internal class ItemIntroHolder(binding: ItemExpertIntroBinding) :
class VideoViewModel { class VideoViewModel {
val name = ObservableField<String>("") val name = ObservableField<String>("")
val avatar = ObservableField<String>("") val avatar = ObservableField<String>("")
val count = ObservableInt() val count = ObservableField<String>("")
val lineStatus = ObservableInt() val lineStatus = ObservableInt()
val intro = ObservableField<String>("") val intro = ObservableField<String>("")
val tag = ObservableField<String>("") val tag = ObservableField<String>("")
...@@ -132,10 +137,10 @@ class VideoViewModel { ...@@ -132,10 +137,10 @@ class VideoViewModel {
internal fun VideoViewModel.mapOf(bean: ConfideHomeBodyBean): VideoViewModel { internal fun VideoViewModel.mapOf(bean: ConfideHomeBodyBean): VideoViewModel {
name.set(bean.confidedName) name.set(bean.confidedName)
avatar.set(bean.confidedIcon) avatar.set(bean.confidedIcon)
// count.set(bean.confideHearNum) count.set(bean.confideHearNum)
intro.set(bean.categoryContent) intro.set(bean.confideContent)
val sb = StringBuilder() val sb = StringBuilder()
bean.confidedTag?.forEach { sb.append(it).append("|") } bean.confidedTag?.forEach { sb.append(it).append(" | ") }
sb.setLength(sb.length - 1) sb.setLength(sb.length - 1)
tag.set(sb.toString()) tag.set(sb.toString())
if (bean.videoUrl != null) { if (bean.videoUrl != null) {
......
...@@ -2,11 +2,23 @@ ...@@ -2,11 +2,23 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"> <item android:id="@android:id/background">
<selector>
<item android:state_pressed="true">
<shape> <shape>
<corners android:radius="4dp" /> <corners android:radius="4dp" />
<solid android:color="#59FFFFFF" /> <solid android:color="#59FFFFFF" />
<stroke android:width="1dp" />
</shape> </shape>
</item> </item>
<item>
<shape>
<corners android:radius="4dp" />
<solid android:color="#59FFFFFF" />
<stroke android:width="2dp" />
</shape>
</item>
</selector>
</item>
<item android:id="@android:id/secondaryProgress"> <item android:id="@android:id/secondaryProgress">
<clip> <clip>
...@@ -18,12 +30,26 @@ ...@@ -18,12 +30,26 @@
</item> </item>
<item android:id="@android:id/progress"> <item android:id="@android:id/progress">
<selector>
<item android:state_pressed="true">
<clip>
<shape>
<corners android:radius="4dp" />
<solid android:color="@color/white" />
<stroke android:width="1dp" />
</shape>
</clip>
</item>
<item>
<clip> <clip>
<shape> <shape>
<corners android:radius="4dp" /> <corners android:radius="4dp" />
<solid android:color="@color/white" /> <solid android:color="@color/white" />
<stroke android:width="2dp" />
</shape> </shape>
</clip> </clip>
</item> </item>
</selector>
</item>
</layer-list> </layer-list>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"> <item android:state_pressed="true">
<shape android:shape="oval"> <shape android:shape="rectangle">
<solid android:color="@color/white" /> <solid android:color="@color/white" />
<size android:width="6dp" android:height="6dp" /> <size android:width="6dp" android:height="8dp" />
<corners android:radius="2dp" />
</shape> </shape>
</item> </item>
<item> <item android:state_pressed="false">
<shape android:shape="oval"> <shape android:shape="oval">
<solid android:color="@color/white" /> <solid android:color="@color/white" />
<size android:width="6dp" android:height="6dp" /> <size android:width="8dp" android:height="8dp" />
<stroke android:width="2dp" android:color="@color/transparent" />
</shape> </shape>
</item> </item>
</selector> </selector>
\ No newline at end of file
...@@ -52,11 +52,9 @@ ...@@ -52,11 +52,9 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="23dp" android:layout_marginBottom="23dp"
android:maxHeight="4dp" android:maxHeight="8dp"
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"
...@@ -146,6 +144,7 @@ ...@@ -146,6 +144,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/white" android:textColor="@color/white"
android:text="@{item.count}"
android:textSize="13sp" android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="@+id/tvName" app:layout_constraintBottom_toBottomOf="@+id/tvName"
app:layout_constraintLeft_toRightOf="@+id/tvName" app:layout_constraintLeft_toRightOf="@+id/tvName"
...@@ -201,6 +200,7 @@ ...@@ -201,6 +200,7 @@
android:layout_height="46dp" android:layout_height="46dp"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:layout_marginBottom="20dp" android:layout_marginBottom="20dp"
app:circle="@{true}"
app:imageUrl="@{item.avatar}" 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" />
......
...@@ -7,10 +7,14 @@ import android.widget.ImageView ...@@ -7,10 +7,14 @@ import android.widget.ImageView
import androidx.databinding.BindingAdapter import androidx.databinding.BindingAdapter
import com.ydl.ydl_image.module.GlideApp import com.ydl.ydl_image.module.GlideApp
@BindingAdapter("imageUrl") @BindingAdapter("imageUrl", "circle", requireAll = false)
fun setImageUrl(imageView: ImageView, url: String?) { fun setImageUrl(imageView: ImageView, url: String?, circle: Boolean = false) {
if (url.isNullOrEmpty()) return if (url.isNullOrEmpty()) return
if (circle) {
GlideApp.with(imageView).load(url).circleCrop().into(imageView)
} else {
GlideApp.with(imageView).load(url).into(imageView) GlideApp.with(imageView).load(url).into(imageView)
}
} }
......
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