2

我试图让帧动画在下载图像之前保持在播放动画的图像视图的中心。基本上它是一个加载微调器的动画。这是我在 xml 文件中的图像视图。

<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的整个宽度和高度。图像视图设置为 fitCenter。我怎样才能避免这种拉伸?

4

1 回答 1

0

我有同样的问题,问题是因为动画使用背景

解决方案是:

  1. 在drawble文件夹中创建带有animationList图片的xml位图并将重力设置为中心

    <?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()));
    
于 2014-02-02T07:21:31.517 回答