2011-01-11 16 views
8

điều này nghe có vẻ ngớ ngẩn, nhưng tôi không thể tìm thấy bất kỳ nơi nào để chỉ định pivotXType và pivotYType của một ScaleTAnimation.Thuộc tính XML để chỉ định pivotXType và pivotYType trong ScaleAnimation

tôi biết làm thế nào để làm điều đó programatically, nhưng tôi cần phải xác định nó qua XML (i cần nó cho quá trình chuyển đổi giữa các hoạt động, sử dụng phương pháp overridePendingTransition)

Here's mã mà hoạt động:

Animation animation=new ScaleAnimation(1,0,1,0,ScaleAnimation.RELATIVE_TO_SELF,(float)0.5,ScaleAnimation.RELATIVE_TO_SELF,(float)0.5); 
    animation.setDuration(1000); 

Here's XML, mà không có XML thuộc tính tôi đang tìm kiếm

<?xml version="1.0" encoding="utf-8"?> 
<scale xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXScale="1" 
    android:toXScale="0" 
    android:fromYScale="1" 
    android:toYScale="0" 
    android:pivotX="0.5"   
    android:pivotY="0.5" 
    android:duration="2000" 
    /> 

tôi đã kiểm tra ra các tài liệu tại http://developers.androidcn.com/reference/android/view/animation/ScaleAnimation.html, nhưng đã không hề tìm thấy bất kỳ câu trả lời. Cảm ơn.

Trả lời

19

Hy vọng không ai thậm chí làm phiền đọc câu hỏi của tôi. Tôi đã nhầm lẫn khi viết xml, đây là mã đúng cho hiệu ứng tôi muốn (mở rộng hoạt động mới từ kích thước 100% thành 0% kích thước, ngay ở giữa màn hình). Giá trị chính xác cho pivotX và pivotY là 50% thay vì 0,5.

<?xml version="1.0" encoding="utf-8"?> 
<scale xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXScale="1" 
    android:toXScale="0" 
    android:fromYScale="1" 
    android:toYScale="0" 
    android:pivotX="50%"   
    android:pivotY="50%" 
    android:duration="600" 
    /> 
+0

hãy chấp nhận điều này là câu trả lời của bạn vì vậy câu hỏi sẽ có hiệu quả được đóng lại (mọi người sẽ nhiều khả năng bỏ qua một câu trả lời được chấp nhận). Cảm ơn! – McStretch

+0

Cảm ơn rất nhiều! nhiều như tôi biết điều này là không có giấy tờ. – Ran

14

Tôi biết câu trả lời đã được đăng, nhưng tôi nghĩ tôi sẽ viết một vài lời giải thích. xoay trong xml có thể được thiết lập để ba loại giá trị (ví dụ sử dụng giá trị 50):

  • 50% - tỷ lệ phần trăm; Tương ứng với loại xoay vòng Animation.RELATIVE_TO_SELF. 50% về cơ bản có nghĩa là nó sẽ xoay ở giữa chế độ xem.

  • 50%p - tỷ lệ phần trăm gốc; Tương ứng với loại xoay vòng Animation.RELATIVE_TO_PARENT. 50%p có nghĩa là nó sẽ xoay ở giữa chế độ xem gốc.

  • 50 - tuyệt đối; Tương ứng với loại xoay vòng Animation.ABSOLUTE. 50 phương tiện xoay vòng tại 50 pixel từ trên xuống/trái (tùy thuộc vào loại trục - y/x)

+1

Cảm ơn câu trả lời tuyệt vời - điều này rất hữu ích khi bạn xem đã được dịch và bạn muốn chia tỷ lệ xung quanh một trung tâm mới (thu nhỏ hoạt ảnh phát triển chẳng hạn) - bạn phải tính toán trung tâm tuyệt đối của chế độ xem được dịch và tạo hiệu ứng mới trung tâm. – benchuk

+0

câu trả lời gọn gàng. cảm ơn – iroiroys

Các vấn đề liên quan