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() 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(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)) } } }