package com.igo.user.ui import android.content.Context import android.content.Intent import android.widget.TextView import androidx.core.view.isVisible import androidx.viewpager2.widget.ViewPager2 import cn.sinata.xldutils.gone import com.igo.user.R import com.igo.user.ui.adapter.ShowPictureAdapter //显示图片页 class ShowPictureActivity : TransparentStatusBarActivity() { private val title by lazy { intent.getStringExtra("title") } private val list by lazy { intent.getStringArrayListExtra("list") } private val index by lazy { intent.getIntExtra("index", 0) } private val adapter by lazy { ShowPictureAdapter() } private val tvLeftTitle by lazy { findViewById(R.id.tv_left_title) } private val tvTitle by lazy { findViewById(R.id.tv_title) } private val viewPager by lazy { findViewById(R.id.viewPager) } private val tvCount by lazy { findViewById(R.id.tv_count) } companion object { //获取跳转此页面intent fun getIntent( context: Context, title: String, list: ArrayList, index: Int = 0 ): Intent { return Intent(context, ShowPictureActivity::class.java).apply { putExtra("title", title) putStringArrayListExtra("list", list) putExtra("index", index) } } } override fun setContentView() = R.layout.activity_show_picture override fun initView() { titleBar.gone() tvTitle.text = title viewPager.adapter = adapter viewPager.offscreenPageLimit = list?.size ?: 1 adapter.setData(list ?: emptyList()) tvCount.isVisible = (list?.size ?: 0) > 1 runOnUiThread { viewPager.currentItem = index refreshCount(index) } } override fun initClick() { tvLeftTitle.setOnClickListener { finish() } viewPager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { override fun onPageSelected(position: Int) { super.onPageSelected(position) refreshCount(position) } }) } //刷新下标 private fun refreshCount(index: Int) { tvCount.text = "${index + 1}/${list?.size ?: 0}" } }