package com.dollearn.student.ui.course
|
|
import android.graphics.Bitmap
|
import android.os.Environment
|
import android.provider.MediaStore
|
import android.widget.ImageView
|
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.core.view.drawToBitmap
|
import cn.sinata.xldutils.activity.ImagePagerActivity
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.visible
|
import com.bumptech.glide.Glide
|
import com.bumptech.glide.request.target.SimpleTarget
|
import com.bumptech.glide.request.transition.Transition
|
import com.dollearn.student.R
|
import com.dollearn.student.network.HttpManager
|
import com.dollearn.student.network.request
|
import com.dollearn.student.ui.TransparentStatusBarActivity
|
import com.dollearn.student.utils.extention.loadLongImage
|
import kotlinx.android.synthetic.main.activity_report.*
|
import org.jetbrains.anko.startActivity
|
import java.io.File
|
import java.io.FileOutputStream
|
import java.lang.Exception
|
|
class ReportActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_report
|
|
private val id by lazy { intent.getStringExtra("id")?:"" }
|
private var urls = arrayListOf<String>()
|
|
override fun initClick() {
|
iv_report_1.setOnClickListener {
|
startActivity<ImagePagerActivity>("url" to urls,"position" to 0)
|
}
|
iv_report_2.setOnClickListener {
|
startActivity<ImagePagerActivity>("url" to urls,"position" to 1)
|
}
|
iv_report_3.setOnClickListener {
|
startActivity<ImagePagerActivity>("url" to urls,"position" to 2)
|
}
|
iv_report_1.setOnLongClickListener {
|
saveImg(iv_report_1)
|
return@setOnLongClickListener true
|
}
|
iv_report_2.setOnLongClickListener {
|
saveImg(iv_report_2)
|
return@setOnLongClickListener true
|
}
|
iv_report_3.setOnLongClickListener {
|
saveImg(iv_report_3)
|
return@setOnLongClickListener true
|
}
|
}
|
|
override fun initView() {
|
getData()
|
}
|
|
private fun saveImg(v: ImageView){
|
try {
|
val copyPath =
|
getExternalFilesDir(Environment.DIRECTORY_DCIM)!!.absolutePath + "/" + System.currentTimeMillis() + ".png"
|
val file = File(copyPath)
|
if (!file.exists()) {
|
file.createNewFile()
|
}
|
val fors = FileOutputStream(file)
|
v.drawToBitmap()?.compress(Bitmap.CompressFormat.PNG, 0, fors)
|
fors.flush()
|
fors.close()
|
MediaStore.Images.Media.insertImage(this.contentResolver, file.absolutePath, copyPath, null);
|
myToast("图片已保存")
|
} catch (e: Exception) {
|
}
|
}
|
|
private fun getData(){
|
HttpManager.queryPhysical(id).request(this){_,data->
|
data?.apply {
|
try {
|
val heightS = "${height}cm"
|
tv_height.text = SpanBuilder(heightS).size(heightS.length-2,heightS.length,14).build()
|
val weightS = "${weight}kg"
|
tv_wight.text = SpanBuilder(weightS).size(weightS.length-2,weightS.length,14).build()
|
val bmiS = "${bmi}${bodyStatus}"
|
tv_bmi.text = SpanBuilder(bmiS).size(bmiS.indexOf(bodyStatus),bmiS.length,14).build()
|
this@ReportActivity.urls.addAll(urls)
|
if (!urls.isNullOrEmpty()){
|
urls.firstOrNull()?.loadLongImage(this@ReportActivity,iv_report_1)
|
urls[1].loadLongImage(this@ReportActivity,iv_report_2)
|
urls[2].loadLongImage(this@ReportActivity,iv_report_3)
|
}else{
|
tv_empty.visible()
|
}
|
}catch (e:Exception){
|
}
|
}
|
}
|
}
|
}
|