package cn.sinata.xldutils.activity
|
|
import android.app.Activity
|
import android.os.Bundle
|
import android.view.View
|
import android.view.Window
|
import android.view.WindowManager
|
import android.widget.TextView
|
import androidx.viewpager.widget.ViewPager
|
import cn.sinata.xldutils.R
|
import cn.sinata.xldutils.adapter.ImagePagerAdapter
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.visible
|
import org.jetbrains.anko.find
|
|
class ImagePagerActivity : BaseActivity(), ViewPager.OnPageChangeListener {
|
|
var urls : ArrayList<String> = ArrayList()
|
|
private val deletable by lazy {
|
intent.getBooleanExtra(DELETABLE,false)
|
}
|
|
companion object {
|
val POSITION = "position"
|
val URLS = "url"
|
val DELETABLE = "deletable"
|
}
|
|
val imagePager by lazy {
|
find<ViewPager>(R.id.mViewPager)
|
}
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
requestWindowFeature(Window.FEATURE_NO_TITLE)
|
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
setContentView(R.layout.activity_image_pager)
|
|
imagePager.addOnPageChangeListener(this)
|
|
val position = intent.getIntExtra(POSITION,0)
|
val urls = intent.getStringArrayListExtra(URLS)
|
if (urls != null) {
|
this.urls.addAll(urls)
|
}
|
find<TextView>(R.id.tv_pages).text = getString(R.string.pageAndSizes,position+1,urls!!.size)
|
find<View>(R.id.cl_back).setOnClickListener {
|
finish()
|
}
|
|
imagePager.adapter = ImagePagerAdapter(supportFragmentManager,urls)
|
imagePager.currentItem = position
|
|
if (deletable)
|
find<TextView>(R.id.tv_del).visible()
|
}
|
|
override fun onPageScrollStateChanged(state: Int) {
|
|
}
|
|
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
|
|
}
|
|
override fun onPageSelected(position: Int) {
|
find<TextView>(R.id.tv_pages).text = getString(R.string.pageAndSizes,position+1,urls.size)
|
}
|
|
fun back(v: View){
|
finish()
|
}
|
|
fun del(v: View){
|
setResult(Activity.RESULT_OK,intent.putExtra("position",imagePager.currentItem))
|
finish()
|
}
|
|
override fun onDestroy() {
|
super.onDestroy()
|
if (imagePager != null) {
|
imagePager.removeOnPageChangeListener(this)
|
}
|
}
|
}
|