我想提出兩個與他們翻譯在android系統有問題的動畫和:的Android動畫定位問題
- 我試圖顯示圖像從一個側面進入和退出等,並重復幾分鐘。我可以看到一個移動的,但每次動畫開始 - 我看到一個毫秒的圖像閃爍。
這是我的佈局XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:background="@drawable/bg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView android:id="@+id/anim_image" android:src="@drawable/movimage"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:visibility="invisible" android:layout_marginTop="30dp"
/>
</FrameLayout>
這是我的動畫XML:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="40" android:toDegrees="-40" android:toYScale="0.0"
android:pivotX="40%" android:pivotY="30%" android:duration="4000" />
<set>
<translate
android:fromXDelta="200%p" android:toXDelta="-150%p" android:fromYDelta="20%"
android:toYDelta="10%" android:duration="4000" android:zAdjustment="bottom" />
</set>
</set>
在我的Java類,我已經創建了每onTick調用countdowntimer: 圖像.startAnimation(阿尼姆);我試着聽動畫: anim.setAnimationListener(this);
並添加到onAnimationEnd: image.setVisibility(View.GONE);
但它沒有幫助我。 有誰知道我能做些什麼來解決它?
-
- 我試圖表現出「流星」的形象 - 我創建了一個小的PNG文件(* 30像素30像素)和IM試圖將它定位在屏幕的一個邊緣讓它移動到另一個並消失。但是我在動畫XML中編寫的每個代碼都沒有這樣做! 任何人都可以幫我正確寫出動畫嗎?
我寫道:翻譯 機器人:fromXDelta = 「100%p」 的機器人:toXDelta = 「 - 100%P」 機器人:fromYDelta = 「0%P」 機器人:toYDelta =「100%P 「機器人:時間=」 500"
,並沒有工作..
編輯:我已經找到了解決辦法:
我發現什麼是錯誤的。我用CountDownTimer編寫了一個代碼來重複使用,而不是使用動畫的重複選項。我已經將我的XML更改爲:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:startOffset="1000"
>
<rotate
android:repeatCount="infinite" android:repeatMode="restart" android:fillAfter="false"
android:fromDegrees="40" android:toDegrees="-40" android:toYScale="0.0"
android:pivotX="40%" android:pivotY="30%" android:duration="4000" />
<set>
<translate
android:repeatCount="infinite" android:repeatMode="restart" android:fillAfter="false"
android:fromXDelta="100%p" android:toXDelta="-100%p" android:fromYDelta="20%"
android:toYDelta="10%" android:duration="4000" android:zAdjustment="bottom" />
</set>
</set>
現在它的工作方式沒有在屏幕上閃爍。 同樣的流星,我已經改變了XML這樣:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:repeatCount="infinite" android:repeatMode="restart" android:fillAfter="false"
android:fromXDelta="100%p" android:toXDelta="-100%p" android:fromYDelta="0%p"
android:toYDelta="100%p" android:duration="2500" android:zAdjustment="bottom" />
<set>
<alpha
android:repeatCount="infinite" android:repeatMode="restart" android:fillAfter="false"
android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="2500" />
</set>
</set>
,現在,它完美的作品!
好的,我找到了一個解決方案。我試圖寫我自己的循環顯示,而不是使用android的代碼。我刪除了計時器,並添加到動畫以下代碼:android:repeatCount =「infinite」android:repeatMode =「restart」android:fillAfter =「false」它的效果很好。 – Ofershap
啊這很好。重複動畫並讓它重新開始。 – Varun
我發現另一個問題 - onAnimationRepeat方法永遠不會被調用。我認爲它是一個android平臺的bug。 – Ofershap