It's alive !
This commit is contained in:
parent
907cb0f106
commit
c8e8306930
|
@ -9,6 +9,9 @@ import android.view.ViewManager
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import com.squareup.picasso.Picasso
|
import com.squareup.picasso.Picasso
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.GlobalScope
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import org.jetbrains.anko.*
|
import org.jetbrains.anko.*
|
||||||
import org.jetbrains.anko.constraint.layout.ConstraintSetBuilder
|
import org.jetbrains.anko.constraint.layout.ConstraintSetBuilder
|
||||||
import org.jetbrains.anko.constraint.layout.applyConstraintSet
|
import org.jetbrains.anko.constraint.layout.applyConstraintSet
|
||||||
|
@ -19,7 +22,11 @@ import org.jetbrains.anko.design.appBarLayout
|
||||||
import org.jetbrains.anko.sdk27.coroutines.onClick
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
||||||
import org.jetbrains.anko.sdk27.coroutines.onSeekBarChangeListener
|
import org.jetbrains.anko.sdk27.coroutines.onSeekBarChangeListener
|
||||||
import oupson.apng.ApngAnimator
|
import oupson.apng.ApngAnimator
|
||||||
import oupson.apng.loadApng
|
import oupson.apng.CustomAnimationDrawable
|
||||||
|
import oupson.apng.ExperimentalApngDecoder
|
||||||
|
import oupson.apng.Loader
|
||||||
|
import java.io.FileInputStream
|
||||||
|
import java.net.URL
|
||||||
|
|
||||||
fun ViewManager.xToolbar(init : androidx.appcompat.widget.Toolbar.() -> Unit) = ankoView({androidx.appcompat.widget.Toolbar(it)}, 0, init)
|
fun ViewManager.xToolbar(init : androidx.appcompat.widget.Toolbar.() -> Unit) = ankoView({androidx.appcompat.widget.Toolbar(it)}, 0, init)
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
|
@ -97,13 +104,31 @@ class MainActivity : AppCompatActivity() {
|
||||||
)
|
)
|
||||||
val imageView = imageView {
|
val imageView = imageView {
|
||||||
id = View.generateViewId()
|
id = View.generateViewId()
|
||||||
|
GlobalScope.launch {
|
||||||
|
Loader.load(this@MainActivity, URL(imageUrl)).apply {
|
||||||
|
val drawable = ExperimentalApngDecoder.decodeApng(FileInputStream(this))
|
||||||
|
if (drawable is CustomAnimationDrawable) {
|
||||||
|
println("YEP")
|
||||||
|
val a = drawable as CustomAnimationDrawable
|
||||||
|
GlobalScope.launch(Dispatchers.Main) {
|
||||||
|
(this@imageView).setImageDrawable(a)
|
||||||
|
a.start()
|
||||||
|
}
|
||||||
|
|
||||||
|
} else
|
||||||
|
GlobalScope.launch(Dispatchers.Main) {
|
||||||
|
(this@imageView).setImageDrawable(drawable)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
animator = this.loadApng(imageUrl).apply {
|
animator = this.loadApng(imageUrl).apply {
|
||||||
onLoaded {
|
onLoaded {
|
||||||
setOnFrameChangeLister {
|
setOnFrameChangeLister {
|
||||||
// Log.e("app-test", "onLoop")
|
// Log.e("app-test", "onLoop")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}.lparams(
|
}.lparams(
|
||||||
width = matchConstraint,
|
width = matchConstraint,
|
||||||
height = matchConstraint
|
height = matchConstraint
|
||||||
|
|
Loading…
Reference in New Issue