package com.example.smart.ui.viewer
|
|
import android.view.LayoutInflater
|
import com.bumptech.glide.Glide
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
import com.bumptech.glide.request.RequestOptions
|
import com.example.basecore.BaseBindingActivity
|
import com.example.smart.databinding.ActivityImageViewerBinding
|
import com.github.piasy.biv.BigImageViewer
|
import com.github.piasy.biv.loader.glide.GlideImageLoader
|
import com.youth.banner.holder.BannerImageHolder
|
import com.youth.banner.indicator.CircleIndicator
|
|
|
/**
|
* 图片查看器
|
*/
|
class ImageViewerActivity : BaseBindingActivity() {
|
|
|
private val binding by lazy { ActivityImageViewerBinding.inflate(LayoutInflater.from(mContext)) }
|
|
|
override fun getRootView() = binding.root
|
|
private val imageUrlsList = ArrayList<String>()
|
|
override fun initView() {
|
transStatusBar()
|
BigImageViewer.initialize(GlideImageLoader.with(this))
|
|
val paths = intent.getStringArrayListExtra("path")
|
val position = intent.getIntExtra("position", 0)
|
|
|
if (paths != null) {
|
imageUrlsList.addAll(paths)
|
}
|
binding.apply {
|
//起始从1开始
|
banner.setStartPosition(position+1)
|
|
|
closeImg.setOnClickListener { finish() }
|
|
//—————————————————————————如果你想偷懒,而又只是图片轮播————————————————————————
|
banner.setAdapter(object : BannerListImageAdapter<String>(imageUrlsList) {
|
|
override fun onBindView(
|
holder: BannerImageHolder,
|
data: String?,
|
position: Int,
|
size: Int
|
) {
|
Glide.with(holder.itemView)
|
.load(data)
|
.apply(RequestOptions.bitmapTransform(RoundedCorners(30)))
|
.into(holder.imageView)
|
}
|
|
|
})
|
.addBannerLifecycleObserver(this@ImageViewerActivity) //添加生命周期观察者
|
.setIndicator(CircleIndicator(mContext))
|
|
}
|
}
|
}
|