您好我已经遇到了创建启动画面的问题,其中图像放置在center_vertical | center horizontal中。如果要将其转换为中心_horizontal | top在android.can,请指导我如何操作。
答案 0 :(得分:3)
使用动画执行此操作,有关动画视图的详细信息,您可以参考this link以及this
在将视图从中心转换到屏幕顶部时,您实际上在寻找什么,您可以使用xml来使用翻译动画。
1.在res文件夹中创建文件夹anim 2.添加描述您的翻译效果的资源文件,如:
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="50%p" android:fromYDelta="50%p"
android:toXDelta="50%p" android:toYDelta="0%p"
android:duration="1000"
android:fillAfter="true" />
您可以尝试使用%值。
3.在代码中实现:
translateAnim= AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.translate_anim);
imageView.startAnimation(translateAnim);
希望这么多线索足够了!
P.S:你可以试验fillAfter
真或假,这样你就可以更好地理解它们的效果。
答案 1 :(得分:0)
我认为这是从中心到顶部实现动画的最好,最简单的方法:
ivSplashCenter.animate()
.translationY(-((rlContainer.height - (ivSplashCenter.height * 2)) / 2).toFloat())
.setInterpolator(AccelerateInterpolator()).duration = 1500
在这里,ivSplashCenter
是imageview,rlContainer
是我的XML根视图
注意:
您在这里需要了解的一件事是,我与图像高度的顶部边缘之间的距离为ivSplashCenter.height * 2
,
如果您不想在顶部使用任何填充/空格,则可以使用ivSplashCenter.height