JavaScript is required

Trong Android, để tạo một hiệu ứng (animation), thường sử dụng lớp nào?

A.

AnimationDrawable

B.

AnimationSet

C.

AnimatorSet

D.

TransitionDrawable

Trả lời:

Đáp án đúng: C


Trong Android, có nhiều cách để tạo hiệu ứng (animation), và các lớp được liệt kê đều có vai trò trong quá trình này, nhưng mức độ sử dụng và mục đích khác nhau.

  • AnimationDrawable: Được sử dụng để tạo hiệu ứng frame-by-frame animation (hiệu ứng hoạt hình theo từng khung hình), thường dùng để tạo các hiệu ứng đơn giản như hình ảnh động liên tục (ví dụ: một loạt các hình ảnh thay đổi nhanh chóng để tạo cảm giác chuyển động).
  • AnimationSet: Cho phép nhóm nhiều animation lại với nhau để chạy đồng thời hoặc tuần tự. Nó không phải là một animation cụ thể mà là một container cho các animation khác.
  • AnimatorSet: Tương tự như AnimationSet, nhưng dành cho các Animator (ValueAnimator, ObjectAnimator). AnimatorSet cho phép bạn phối hợp các animation dựa trên thuộc tính của đối tượng (ví dụ: thay đổi màu sắc, vị trí, kích thước) một cách linh hoạt và mạnh mẽ hơn.
  • TransitionDrawable: Được sử dụng để tạo hiệu ứng chuyển đổi mượt mà giữa hai drawable (ví dụ: chuyển đổi giữa hai hình ảnh).

Để tạo một hiệu ứng animation tổng quát, AnimationDrawable thường được sử dụng cho hiệu ứng frame-by-frame đơn giản. Tuy nhiên, khi muốn tạo các hiệu ứng phức tạp hơn, thay đổi thuộc tính của view một cách linh hoạt, thì AnimatorSet và các Animator (ObjectAnimator, ValueAnimator) thường được ưa chuộng hơn. AnimationSet dùng để kết hợp nhiều animation lại với nhau. TransitionDrawable dành riêng cho việc chuyển đổi giữa các drawable.

Tuy nhiên, dựa trên cách đặt câu hỏi chung chung là "để tạo một hiệu ứng (animation), thường sử dụng lớp nào?", thì AnimationDrawable là đáp án phù hợp nhất vì nó trực tiếp tạo ra một animation có thể sử dụng được. Các lớp còn lại thường được sử dụng để phối hợp hoặc tạo hiệu ứng chuyển đổi.

Câu hỏi liên quan