2012-07-18 54 views
0

我正在開發一個適用於Unity3D的Android Java插件。如何從Assets文件夾加載動畫?

我的Android項目,我有一個類沒有擴展活動,但我打電話發送當前活動的統一&函數。

public class abc{  
    void init(final Activity currActivity, .. and some other params) 
    { 
    ..... 
    my code here.// 
    .... . 
    }  
} 

我用

currAnimation_StartAd = AnimationUtils.loadAnimation(currActivity, R.anim.slide_in_right); 

當我伸出活動從資源加載我的動畫文件夾。

現在我的問題是,我不能訪問資源文件夾bcoz 讀音字不再延長活動。 其實,即使我沒有得到任何編譯時間錯誤R.anim.slide_in_right。 但在運行時,資源R.anim.slide_in_right:0x7f040001沒有找到..

有沒有辦法從資產文件夾中加載我的動畫?

Thankx。

+0

告訴我R.anim.slide_in_right的定義,請確認您的動畫文件夾實際存在... – 2012-07-18 07:18:15

+0

「R.anim.slide_in_right:0x7f040001找不到」可能造成的由DDMS編譯apk錯誤,嘗試從eclipse工作區移除項目並刪除項目的bin目錄,然後將項目導入到Eclipse工作區。 – 2012-07-18 07:18:49

+0

@JigarPandya。要訪問** R.anim **我需要擴展活動,這不是在這裏做。 – MicroEyes 2012-07-18 07:24:13

回答

1

您可以在這種情況下使用getApplicationContext()..改變你喜歡的代碼

currAnimation_StartAd = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_in_right); 

,這應該工作。

或更好解釋由gautam與currAnimation_StartAd = AnimationUtils.loadAnimation(currActivity.getApplicationContext,R.anim.slide_in_right);

+0

getApplicationContext()需要類來擴展Activity ..我對不對? – MicroEyes 2012-07-18 07:53:50

+0

檢查更新的答案.. – 2012-07-18 09:07:55

+0

你的答案是正確的,但它不適用於我。謝謝你的回答。 – MicroEyes 2012-07-20 05:49:20

0

爲了設置動畫的任何觀點:

view.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_up_in)); 
view.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_up_out)); 

對於這一點,你必須創建在項目資源動畫文件夾並創建XML文件: push_up_in:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
     <translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="300"/> 
     <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" /> 
</set> 

push_up_out:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
     <translate android:fromYDelta="0" android:toYDelta="-100%p" android:duration="300"/> 
     <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="300" /> 
</set> 
+0

你可以這樣做,或者在XML佈局文件中設置動畫,如果有的話 – 2012-07-18 07:15:37

+0

@Akash .. **這個**不會在我的情況下工作。我上面提到,**我的課沒有擴展Activity **。 – MicroEyes 2012-07-18 07:19:10

0

您仍然可以通過Application獲取Context對象以訪問res文件夾。 創建一個應用程序類:

public class app extends Application{ 
    public static Context c; 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     c = this; 
    } 
    @Override 
    public void onTerminate() { 
     super.onTerminate(); 
     c = null; 
    } 
} 

還記得在聲明中聲明。現在你可以有一個背景下處處

app.context