2013-07-28 237 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