Kể từ API 16 bạn có thể cung cấp một tùy chọn hoạt động bó khi gọi Context.startActivity(Intent, Bundle) hoặc liên quan đến phương pháp. Nó được tạo ra thông qua ActivityOptions builder:
Intent myIntent = new Intent(context, MyActivity.class);
ActivityOptions options =
ActivityOptions.makeCustomAnimation(context, R.anim.fade_in, R.anim.fade_out);
context.startActivity(myIntent, options.toBundle());
Đừng quên kiểm tra các phương pháp khác của người xây dựng ActivityOptions và ActivityOptionsCompat nếu bạn đang sử dụng thư viện hỗ trợ.
API 5 +:
Đối với các ứng dụng nhắm mục tiêu mức API 5 + có các hoạt động overridePendingTransition
phương pháp. Phải mất hai ID tài nguyên cho hoạt ảnh đến và đi. Id của 0
sẽ tắt hoạt ảnh. Gọi ngay sau cuộc gọi startActivity
.
tức là .:
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3+:
Bạn có thể ngăn chặn sự hình ảnh động mặc định (Trượt từ bên phải) với Intent.FLAG_ACTIVITY_NO_ANIMATION
cờ trong ý định của bạn.
tức là .:
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
sau đó trong hoạt động của bạn bạn chỉ cần có để xác định hoạt hình của riêng bạn.
Điều này cũng phù hợp với API 1.5 (Cấp độ 3).
Ý của bạn là gì khi bạn nói "chỉ định hoạt ảnh của riêng bạn"? Làm thế nào để bạn làm điều này? Cảm ơn! – pqn
Tôi có cùng một câu hỏi. Có lẽ trong hoạt ảnh bắt đầu trong onResume và onPause. – Tima
có cách nào để sử dụng Animator thay thế không? –