HomeLập trình Android căn bản

Animation trong Android

Animation trong Android
Like Tweet Pin it Share Share Email

Giới thiệu về Animation trong Android

Animation trong Android cung cấp 2 đối tượng là Tweeted AnimationFrame by Frame Animation để tạo hiệu ứng chuyển động.

Tweeted Animation

Tweeted Animation là cách thức Android tạo ra các hiệu ứng đơn giản như di chuyển, xoay, zoom….cho một view bất kỳ.

Tweeted Animation hỗ trợ các hiệu ứng sau:

  • Alpha Animation: Hiệu ứng mờ dần, rõ dần.
  • Rotate Animation: Hiệu ứng xoay.
  • Scale Animation: Hiệu ứng phóng to, thu nhỏ.
  • Translate Animation: Hiệu ứng di chuyển.
  • Set Animation: Kết hợp các hiệu ứng lại với nhau.

Sử dụng Tweeted Animation

Xem thêm:

Mình sẽ demo một project nhỏ sử dụng Tweeted Animation để xoay một ảnh.

Mô tả: Nhấn Button sẽ làm xoay ImageView

Tạo hiệu ứng

Trước tiên bạn cần định dạng hiệu ứng. Trên Android Studio, chuột phải vào thư mục res > New > Android resource Directory. Sẽ xuất hiện bảng New Resource Directory như hình dưới.

screen-shot-2016-11-05-at-6-57-01-pm

  • Directory name: Đặt tên cho Directory của bạn (ở ví dụ này mình đặt là anim)
  • Resource type: Chọn kiểu anim

Tiếp theo bạn tạo một file xml trong thư mục anim vừa tạo và code như sau

Giải thích code:

  • duration: Thời gian thực hiện hiệu ứng (tính bằng mili giây)
  • fromDegrees: Vị ví bắt đầu thực hiện hiện hiệu ứng (Tính bằng độ)
  • toDegrees: Vị trí kết thúc hiệu ứng (Tính bằng độ)
  • pivotX: Tọa độ X trên view
  • pivotY: Tọa độ Y trên view

Các bạn có thể hiểu như sau: Đoạn code trên dùng để xoay tròn một view 1080 độ, trong thời gian 10 giây xoay ngay giữa đối tượng được xoay.

Các bạn thử thay đổi các thông số trên để xem sự khác biệt.

Thiết kế giao diện

Java

Chạy thử ứng dụng

screenshot_2016-11-05-19-08-01

 

screenshot_2016-11-05-19-08-09

Frame by Frame Animation

Frame by Frame Animation cho phép chúng ta tạo hiệu ứng ảnh động với nhiều hình ảnh được hiển thị liên tiếp nhau (24 hình trên giây).

Nói một cách dễ hiểu Frame by Frame Animation sẽ hiển thị nhiều ảnh liên tiếp nhau tạo cho người dùng hiệu ứng ảnh chuyển động.

Sử dụng Frame by Frame Animation

Mình sẽ demo một project nhỏ sử dụng Frame by Frame Animation để làm một ảnh động đếm từ 0 đến 9

 

Thiết kế giao diện (activity_main.xml)

Tạo hiệu ứng

Tạo file dem.xml trong drawable (drawable/dem.xml)

Java (MainActivity.java)

Chạy thử ứng dụng

screenshot_2016-11-05-20-05-45

screenshot_2016-11-05-20-05-42

Download source code demo: Tại đây.

Chúc các bạn thành công

Minh Nhựt
Follow me

Minh Nhựt

Quản trị viên at Nhựt Studio
Viết blog part-time trên Nhựt Studio, hiện là sinh viên, thích lập trình, yêu moto.
Blog này đơn giản là nơi chia sẽ những gì mình đang tìm hiểu. Cảm ơn các bạn đã theo dõi trong suốt thời gian qua.
Minh Nhựt
Follow me

Comments (0)

Trả lời

Your email address will not be published.