2011-10-13 50 views
16

Tôi có thể tạo hoạt ảnh từ dưới lên trên khi tôi chuyển sang hoạt động tiếp theo nhưng bây giờ khi tôi nhấn lại, tôi đang sử dụng cùng một mã để tạo hoạt ảnh từ hoạt ảnh trên xuống dưới nhưng nó luôn đi từ dưới lên trên để câu hỏi của tôi là để tạo hoạt ảnh từ trên xuống dưới khi tôi nhấn nút quay lại trên thiết bị Android?
Vui lòng tìm mã của tôi bên dưới.Cách tạo hoạt ảnh trên xuống dưới cùng trong Android?

Tôi sử dụng nó trong khi chuyển đổi từ một Activity sang một số khác bằng cách sử dụng Intent.

overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); 

và xml là: slide_in_up.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromYDelta="100%p" android:toYDelta="0%p" 
android:duration="@android:integer/config_longAnimTime"/> 

và slide_out_up.xml được

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromYDelta="0%p" android:toYDelta="-100%p" 
android:duration="@android:integer/config_longAnimTime"/> 

Trả lời

19

Chỉ cần thay đổi -100 đến 100 (loại bỏ trừ) trong slide_out_up.xml

@Override 
public void onBackPressed() { 
    finish(); 
    overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim); 
} 
+0

xin tham khảo http://stackoverflow.com/questions/9306513/exchange-information-after-bluetooth-pairing-with-authentication-only-android – shyam

+0

hi hesam..want để hỏi một câu hỏi khác xin tham khảo ở trên liên kết nếu u đã từng làm việc wid Bluetooth .. sau khi ghép nối 2 thiết bị qua Bluetooth cách bắt đầu trao đổi thông tin hồ sơ với yêu cầu ủy quyền có trong thông báo ..và sau khi chấp nhận nó chỉ trao đổi thông tin hồ sơ .. tôi đang gặp khó khăn ở đây từ 3 ngày xin giúp đỡ ... cảm ơn – shyam

+1

Hi shyam, tôi thấy liên kết của bạn nhưng tiếc là tôi không có ý tưởng. hãy để tôi tìm kiếm abut nó nếu tôi có kết quả sau đó tôi sẽ cho bạn biết. xin lỗi :) – Hesam

4

Bạn có thể ghi đè lên các hành vi bấm nút quay lại và thiết lập hình ảnh động thích hợp mà bạn muốn, như thế này:

@Override 
public void onBackPressed() { 
    finish(); 
    overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim); 
} 

Thay đổi hình động ở số overridePendingTransition sao cho nó phù hợp với hình động mà bạn muốn.

+0

i làm tương tự như u nói nhưng nó là cho cùng một hình động có nghĩa là từ dưới lên trên nhưng tôi muốn hình ảnh động từ trên xuống dưới khi tôi nhấn nút quay lại, tôi đã đảo ngược hàm overridePendingTransition (R.anim.slide_out_up, R.anim.slide_in_up); – shyam

+0

Tôi cũng làm như bạn làm, ngoại trừ hoạt ảnh "slide_out" của tôi là 'android: fromYDelta =" 0% p "android: toYDelta =" 100% p "'. Nó hoạt động tốt ở đây. Bạn đã thêm 'Intent.FLAG_ACTIVITY_NO_ANIMATION' vào' Intent' của bạn khi bạn định gọi Activity tiếp theo chưa? Có bất kỳ hoạt ảnh nào xảy ra không? – Alesqui

+0

Điều này là tuyệt vời – VVB

5

tôi chỉ thực hiện nó với hai tập tin xml hơn có như

trượt lên, 100-0 và từ 0 đến - 100

trượt xuống -100 đến 0 và 0 đến 100

hoạt động hoàn hảo.

5

Làm việc trên máy tính bảng của tôi 4.0.3.

slide_out_up.xml:

<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="@android:integer/config_mediumAnimTime" 
     android:fromYDelta="0%p" 
     android:toYDelta="-100%p" /> 

</set> 

slide_in_up: xml:

<set xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="@android:integer/config_mediumAnimTime" 
     android:fromYDelta="-100%p" 
     android:toYDelta="0%p" /> 

</set> 

style.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="DialogAnimationOutUpInUp"> 
     <item name="android:windowEnterAnimation">@anim/slide_in_up</item> 
     <item name="android:windowExitAnimation">@anim/slide_out_up</item> 
    </style> 

</resources> 
Các vấn đề liên quan