2012-05-17 59 views
2

我在應用程序中爲圖像創建了動畫。圖像從中間開始到屏幕的左上角。現在我需要確保圖像位於左上角所有設備的正確位置。 目前它位於左上角不同設備的不同位置。我該如何解決它? 我有我的代碼如下:將動畫轉換爲Android中的正確位置

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/linear_interpolator" 
    android:fillAfter="true"> 
    <translate 
     android:fromXDelta="0%p" 
     android:toXDelta="-36%p" 
     android:fromYDelta="0%p" 
     android:toYDelta="-30.9%p" 
     android:duration="500" 
     android:fillAfter="true" /> 
</set> 

任何人都可以請幫忙。

回答

0

我得到了一些相當不錯的結果,所以希望這可以幫助你或任何人。這個想法很簡單。

位置要設置動畫到它通過XML的最終位置,然後我用TranslateAnimation和任何浮點值和設置其從值值爲。通過這種方式,窗口小部件/視圖動畫,並停留在您將其放置在xml中的位置。

一個小例子,用於將屏幕外部的TextView動畫到其在xml中指定的位置。

//This is just for getting the from value, from where animation starts. 
WindowManager wm = (WindowManager) mContext 
     .getSystemService(Context.WINDOW_SERVICE); 
Display display = wm.getDefaultDisplay(); 
int width = display.getWidth(); 

Animation moveRighttoLeft = new TranslateAnimation(width, 0, 0, 0); 
moveRighttoLeft.setDuration(700); 

AnimationSet animation = new AnimationSet(false); 
animation.addAnimation(moveRighttoLeft); 
myTextView.setAnimation(animation); 

這裏是XML的

<TextView 
    android:id="@+id/mytextview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="This is a Text View" 
    android:layout_marginLeft="30dp"/>