2012-11-09 54 views
2

我正在嘗試使框架動畫保持在圖像視圖的中心位置,在圖像下載前動畫正在其中播放。基本上它是一個裝載微調器的動畫。這是我在xml文件中的imageview。Android:框架動畫綿延到查看大小

<TableRow 
      android:gravity="center" > 

      <ImageView 
       android:id="@+id/imageViewUrl1" 
       android:layout_width="0dp" 
       android:layout_height="94dp" 
       android:layout_gravity="center" 
       android:layout_weight="0.5" 
       android:adjustViewBounds="true" 
       android:gravity="center" 
       android:onClick="OnClickThumbnail" 
       android:paddingTop="10dp" 
       android:scaleType="fitCenter" 
       android:textColor="@android:color/white" 
       android:src="@drawable/frameblack" /> 

這裏是我的框架xml文件

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="false" > 
     <item android:drawable="@drawable/framezero" android:duration="60" /> 
     <item android:drawable="@drawable/frameone" android:duration="60" /> 
     <item android:drawable="@drawable/frametwo" android:duration="60" /> 
     <item android:drawable="@drawable/framethree" android:duration="60" /> 
    <item android:drawable="@drawable/framefour" android:duration="60" /> 
    <item android:drawable="@drawable/framefive" android:duration="60" /> 
    <item android:drawable="@drawable/framesix" android:duration="60" /> 
    <item android:drawable="@drawable/frameseven" android:duration="60" /> 
    <item android:drawable="@drawable/frameeight" android:duration="60" /> 
    <item android:drawable="@drawable/framenine" android:duration="60" /> 
    <item android:drawable="@drawable/frameten" android:duration="60" /> 

</animation-list> 

這裏是代碼即時通訊使用啓動動畫

final ImageView imageView = (ImageView) findViewById(R.id.imageViewUrl1); 
     AnimationDrawable yourAnimation; 

     imageView.setBackgroundResource(R.drawable.loadinganim); 
     yourAnimation = (AnimationDrawable) imageView.getBackground(); 
       yourAnimation.start(); 

的問題是,動畫綿延整個寬度和高度的imageview。 imageview設置爲fitCenter。我該如何避免這種情況?

回答

0

我有同樣的萬阿英,蔣達清,問題是,因爲使用背景

動畫

解決辦法是:

  1. 創建drawble夾XML位圖與圖片爲animationList並設置重力中心

    <?xml version="1.0" encoding="utf-8"?> 
    <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
        android:gravity="fill|center" 
        android:src="@drawable/btn_wifi_anim_3" > 
    
    </bitmap> 
    
  2. 在運行時像高度一樣設置動畫布局的寬度。

    wifiAnim.setLayoutParams(new LinearLayout.LayoutParams(wifiAnim.getHeight(), wifiAnim.getHeight()));