[英]How to animate the edge of a view in Android?
我的UI上有一个ImageView
,我想为其左边缘动画,使其右移:图像本身保持不动,但其左部分变为不可见,显示了下面的视图。 (请考虑CSS中的负边距)。
我该如何实现?
我真正想要的是这样的前后效果: https : //zurb.com/playground/twentytwenty
我的计划是堆叠2个imageViews,当我在顶部对imageView的边缘进行动画处理时,下面的imageView被部分显示。
只要可以得到效果,除了设置边缘动画之外的其他想法也可以。
首先,您需要创建调整大小的动画,以使视图大小像这样更改
请注意,这是Kotlin代码,如果需要宽度,则需要更改,您需要替换视图
class ResizeAnimation(var view: View, val targetHight: Int) : Animation() {
val startWidth: Int = view.height
override fun applyTransformation(interpolatedTime: Float, t: Transformation) {
val newHight = (startWidth + (targetHight - startWidth) * interpolatedTime).toInt()
view.layoutParams.height = newHight
view.requestLayout()
}
override fun willChangeBounds(): Boolean {
return true
}
}
接下来在您的活动中将其称为其他动画示例
val anime = ResizeAnimation(view, commentViewHight)
anime.duration = 250
anime.fillAfter =true
view.startAnimation(anime)
因为您要处理图片视图,就像上面的示例一样,将图片的比例类型更改为“适合末端”
请注意,您不能在oncreate()
使用此代码,需要确保该视图首先可见以计算您的高度/宽度
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.