2015-12-22 94 views
0

我有線性佈局,並在其上繪製背景和ImageView的裏面,我正在動畫。如果我從線性佈局中移除該背景圖像,動畫非常平滑,但是當我將背景圖像放回時,它非常慢。任何想法爲什麼以及如何解決這個問題?Android的背景動畫的問題

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center" 
      android:background="@drawable/background" 
      android:orientation="vertical" > 

<ImageView 
android:id="@+id/demoImage" 
android:layout_width="wrap_content" 
android:src="@drawable/temp" 
android:maxWidth="200dp" 
android:layout_centerVertical="true" 
android:adjustViewBounds="true" 
android:scaleType="centerInside" 
android:layout_height="wrap_content"/> 


</LinearLayout> 

而且我只適用這兩個動畫圖像:

AnimationUtils.loadAnimation(this, R.anim.zoomin); 
AnimationUtils.loadAnimation(this, R.anim.zoomout); 

他們做工精細沒有這部分,但極爲緩慢(逐幀)本部分:

android:background="@drawable/background" 

This background.png是750x600px png文件〜40kb大小。

ANSWER

出於某種原因(不知道爲什麼),創建自定義繪製這樣的動畫後再次順利:

<?xml version="1.0" encoding="utf-8"?> 

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
<color android:color="#FFFFFF"></color> 
</item> 
<item> 
<bitmap 
    android:src="@drawable/background" 
    android:gravity="top" 
    /> 
</item> 
</layer-list> 
+0

代碼+ UR圖像尺寸+更多的信息。 – k0sh

+0

我已經更新了原來的問題。 – ShP

回答

0

嘗試在XML代碼scaletype切換到fitCenter。 centerInside不會減少正在處理的數據量,只是將圖像放大以適應容器。

這裏:

<ImageView 
android:id="@+id/demoImage" 
android:layout_width="wrap_content" 
android:src="@drawable/temp" 
android:maxWidth="200dp" 
android:layout_centerVertical="true" 
android:adjustViewBounds="true" 
android:scaleType="fitCenter" 
android:layout_height="wrap_content"/> 
+0

嗨@KoalaKoalified,但我沒有這個ImageView的問題我有一個LinearLayout背景圖像的問題。 – ShP

+0

那你又能順利運作了嗎? – KoalaKoalified

+0

是的,對於遲到的評論感到抱歉。 – ShP