2012-03-29 40 views
5

Tôi có một ImageView cao hơn 250dp phía trên cùng và với hoạt hình dịch tôi muốn di chuyển nó đến 50dp phía trên cùng.Android Translate Animation

Tôi biết cách sử dụng hoạt ảnh dịch, nhưng tôi không biết điều gì sẽ là trường ToYValue.

Mã wil được một cái gì đó như thế này:

TranslateAnimation translate = new TranslateAnimation(Animation.RELATIVE_TO_PARENT,0,Animation.RELATIVE_TO_PARENT,0,Animation.ABSOLUTE,250,Animation.ABSOLUTE,50); 
translate.setDuration(1000); 
translate.reset(); 
translate.setFillAfter(true); 
iv.clearAnimation(); 
iv.startAnimation(translate); 

Trả lời

2

Bạn muốn có một fromYValue 0, có nghĩa là bắt đầu từ nơi mà nó đang là, và một toYValue 50, có nghĩa là di chuyển 50 pixel xuống. Lưu ý rằng các giá trị này bằng pixel, không phải dp. Nếu nó phải nằm trong dp, đó là một câu hỏi hoàn toàn khác ..

Điều quan trọng là trong từ "thay đổi" từ tài liệu TranslateAnimation "Thay đổi trong tọa độ Y để áp dụng khi bắt đầu hoạt ảnh".

http://developer.android.com/reference/android/view/animation/TranslateAnimation.html