在android中从中心到顶部的图像翻译

时间:2014-05-08 04:08:46

标签: android android-layout android-animation

您好我已经遇到了创建启动画面的问题,其中图像放置在center_vertical | center horizo​​ntal中。如果要将其转换为中心_horizo​​ntal | top在android.can,请指导我如何操作。

2 个答案:

答案 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