2011-08-11 13 views
9

Bir ImageView'ı bir animasyonda küçültmeye çalışıyorum, ancak bunu yaptığımda, düzende aşağı ve sola doğru görünüyor.ImageView with ObjectAnimator'ı nasıl ölçeklendirirsiniz, ancak düzende konumunu korur mu?

before animation

Ve işte animasyon sonra neye benzediğini:

after animation

o ImageView küçültün mümkün mü, ama onun üstünü sahip Burada animasyon önce bir ekran görüntüsü - Düzenin köşesi, düzenin sol üst köşesinde kalıyor?

// ScaleTestActivity.java 

import android.animation.AnimatorSet; 
import android.animation.ObjectAnimator; 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ImageView; 

public class ScaleTestActivity extends Activity { 

    ImageView mImageView; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mImageView = (ImageView)findViewById(R.id.image_view); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 

     ObjectAnimator scaleDownX = ObjectAnimator.ofFloat(mImageView, "scaleX", 0.5f); 
     ObjectAnimator scaleDownY = ObjectAnimator.ofFloat(mImageView, "scaleY", 0.5f); 

     scaleDownX.setDuration(1000); 
     scaleDownY.setDuration(1000); 

     AnimatorSet scaleDown = new AnimatorSet(); 

     scaleDown.play(scaleDownX).with(scaleDownY); 
     scaleDown.start(); 
    } 
} 

düzen:

<!-- main.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ImageView 
     android:id="@+id/image_view" 
     android:src="@drawable/droid" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" /> 

</RelativeLayout> 

çekilebilir kaynak:

Large Android Logo

cevap

13

ayarlayabilir deneyebilir görünümünüzün pivotX İşte

kullanıyorum kodudur ve 0'a döner. Ölçekleme bu noktadan yapılır. Bence işe yarayacak.

+0

Tam olarak aradığım şey bu, teşekkürler! –