2013-07-28 238 views
19

我有通常放大和缩小两个活动之间动画的代码,但我想要不同的东西。如果我点击第一个按钮,则在第一个活动中有五个按钮,然后放大将仅从第一个按钮的位置开始,而不是从中心放大。请帮帮我。在android中放大和缩小动画

编辑:缩放应从我点击为中心的按钮开始。

+0

你的问题不是很清楚,你希望从布局的中心进行放大或者,难道是你的动画不能正常工作? – kabuto178

+0

我有五个按钮,当我点击任何按钮,它将被展开并开始下一个活动。 – jagdish

+0

你不想开始新的活动? – kabuto178

回答

2

我认为你必须

  • 集 “中” 和 “out” 的动画
  • 创建文件夹RES /阿尼姆
  • 认沽动画描述成RES /动画文件夹

    对象。 setInAnimation(AnimationUtils.loadAnimation(this,R.anim.zoom_enter)); object.setOutAnimation(AnimationUtils.loadAnimation(this,R.anim.zoom_exit));

您可以使用谷歌提供的Android SDK中的样品动画在Apache 2.0许可

或指这里面使用比例根据变焦比前

http://developer.android.com/training/animation/zoom.html

29

您可以更轻松在运行命令启动新活动后使用此方法,

startActivity(intent); 
overridePendingTransition(animation_in_goes_here,animation_out_goes_here); 

然后,您可以替换上面的动画,用您刚刚开始的活动所需的动画资源替换animation_in_goes_here,并用您离开的活动的动画资源替换animation_out_goes_here。这会给你开关效果。

zoom_in.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > 
    <scale 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="1000" 
    android:fromXScale="1" 
    android:fromYScale="1" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:toXScale="3" 
    android:toYScale="3" > 
    </scale> 
</set> 

zoom_out.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > 
    <scale 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="1000" 
    android:fromXScale="1.0" 
    android:fromYScale="1.0" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:toXScale="0.5" 
    android:toYScale="0.5" > 
    </scale> 
</set> 

希望这有助于回答你的问题。

+0

thnax ...但动画是不正确的:( – jagdish

+0

怎么样似乎是什么问题? – kabuto178

+0

这个动画是不正确的。没有过渡正在发生,我离开的活动。先放大,然后切换回正常状态,没有任何事情发生在我离开的活动上,是否有任何依赖我失去了?这个答案现在有8个拇指,所以在上下文中必须是正确的。 –

2

<scale xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="1000" 
    android:fromXScale="0" 
    android:fromYScale="0" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:toXScale="0.5" 
    android:toYScale="0.5"> 

</scale> 


<scale xmlns:android="http://schemas.android.com/apk/res/android" 

    android:duration="1000" 
    android:fromXScale="2.1" 
    android:fromYScale="2.1" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:startOffset="3000" 
    android:toXScale="0" 
    android:toYScale="0"> 

</scale> 

+0

创建zoom.xml这是用于缩小和放大 – bhoomika