0

我的目标是长按放大图像,然后缩小。令人担忧的是,由于使用了 bringToFront () 指令,该图像一旦未缩放,仍会保留在前景中。我们应该可以使用不存在的bringToFront()的逆向,那么怎么做呢?

下面是我写的代码。感谢您提出任何欢迎的想法。

fun Activity.zoomInOut(iv: ImageView, tv: TextView, isZoomedIn: Boolean): Boolean {
    val isZoomed: Boolean
    if (isZoomedIn) {
        val animZoomOut = AnimationUtils.loadAnimation(
            applicationContext, R.anim.zoom_out
        )
        iv.startAnimation(animZoomOut)
        tv.startAnimation(animZoomOut)
        isZoomed = false

    } else {
        val animZoomIn = AnimationUtils.loadAnimation(
            applicationContext, R.anim.zoom_in
        )
        iv.startAnimation(animZoomIn)
        tv.startAnimation(animZoomIn)
        isZoomed = true
        iv.bringToFront()
        tv.bringToFront()
    }
    return isZoomed
}
4

1 回答 1

0

我回答自己。

用 translationZ = 1F 替换 bringToFront() 以使其在另一个之上。在 zoomOut 中添加 translationZ = 0F 以将其发送回来

这完美无缺。

于 2021-10-29T13:33:42.667 回答