我可以使用圆形显示动画前往下一个目的地。我唯一的问题是前一个片段消失了,除非我在 action 中设置了淡出退出过渡app:exitAnim="@anim/exit_fade_out"
。我想问一下是否有人能够在进行循环显示时保持前一个片段可见。
这是用于显示和隐藏新片段的代码.. 到目前为止这有效但我无法显示前一个片段作为它掩盖下一个片段
private val maxScreenDimension : Float
get() {
return max(container.width, container.height).toFloat()
}
private fun circularReveal(point: Point) {
val viewTreeObserver = container.viewTreeObserver
if (viewTreeObserver.isAlive) {
viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
override fun onGlobalLayout() {
doCircularReveal(point)
container.viewTreeObserver.removeOnGlobalLayoutListener(this)
}
})
}
}
private fun doCircularReveal(point: Point) {
val initRadius = 0f
val finalRadius = maxScreenDimension
val circularReveal = ViewAnimationUtils.createCircularReveal(
container,
point.x,
point.y,
initRadius,
finalRadius
)
circularReveal.duration = resources.getInteger(R.integer.circular_animation_out).toLong()
circularReveal.start()
}
private fun circularHide(point: Point) {
val initRadius = …
Run Code Online (Sandbox Code Playgroud) 我想模拟三星设备,并找到了几个皮肤,输入了屏幕尺寸和分辨率,当我完成时,我发现操作系统与真实设备的操作系统不同 - 三星设备上的工作方式大不相同。例如,真正的三星 S10+ 的主屏幕可能如下所示:
感觉与 Google Pixel 3 的感觉非常不同。另外注意导航也不同。这足以说服我行为会有所不同。下面是模拟器的样子:
不同,不是吗?