2011-08-11 7 views
9

मैं एक एनीमेशन में एक छवि दृश्य को स्केल करने की कोशिश कर रहा हूं, लेकिन जब भी मैं ऐसा करता हूं तो यह नीचे ले जाता है और लेआउट में छोड़ दिया जाता है।ऑब्जेक्टएनिमीटर के साथ एक छवि दृश्य को कैसे स्केल करें, लेकिन क्या यह लेआउट में अपनी स्थिति बनाए रखता है?

before animation

और यहाँ क्या यह एनीमेशन के बाद दिखाई देता है::

after animation

यह imageView नीचे पैमाने पर करना संभव है, लेकिन इसके शीर्ष है यहाँ एक स्क्रीनशॉट इससे पहले कि मैं चेतन है बाएं कोने लेआउट के ऊपरी बाएं कोने में रहते हैं?

// 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(); 
    } 
} 

लेआउट:

<!-- 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> 

drawable संसाधन:

Large Android Logo

उत्तर

13

आप स्थापित करने के लिए कोशिश कर सकते हैं अपने दृश्य के pivotX

यहाँ कोड मैं का उपयोग कर रहा है और pivotY 0. उस बिंदु से स्केलिंग किया जाता है। मुझे लगता है कि यह ठीक काम करेगा।

+0

यह वही है जो मैं ढूंढ रहा था, धन्यवाद! –

संबंधित मुद्दे

 संबंधित मुद्दे