[Android Cơ Bản] ConstraintLayout trong Android – Phần 3

Các em có thể xem P1 và P2 tại link này nhé :

P1: http://www.dotplays.com/android-co-ban-constraintlayout-trong-android/

P2: http://www.dotplays.com/android-co-ban-constraintlayout-trong-android-phan-2/

Tạo Animation với ConstraintLayout

Hi các em, trong bài ngày hôm nay thầy hướng dẫn các em thiết kế màn hình với hiệu ứng Animation sử dụng ConstraintLayout.

Để bắt đầu chúng ta cần làm quen với các class sau :

ConstraintSet

ConstraintSet là đối tượng dùng để lưu trữ, định nghĩa các vị trí trên ConstraintLayout. Chúng ta có thể copy các vị trí của view trên ConstraintLayout với phương thức clone() của ContraintSet

phương thức applyTo()  của Constraint dùng để set các vị trí mới cho ConstraintLayout

TransitionManager

TransitionManager là class dùng để quản lý, điều khiển các chuyển đổi Animation

Lưu ý : TransitionManager chỉ được hỗ trợ từ API 19, nếu muốn hỗ trợ cho các API thấp hơn từ 4.0 chúng ta cần sử dụng thư viện support mà Android cung cấp

implementation 'com.android.support:transition:28.0.0'

ChangeBounds

ChangeBounds là đối tượng được định nghĩa sẵn trong TransitionManager, dùng để tùy chỉnh các thông số trong Animation như tốc độ, cách thức thể hiện Animation…

Cách thức hoạt động

Bước 1 : Định nghĩa 1 layout ConstraintLayout ban đầu, khi chưa thực hiện Animation tên file là frame_one.xml

Bước 2 : Định nghĩa 1 layout ConstraintLayout thứ 2 với cấu trúc như frame_one.xml nhưng vị trí các View là giao diện sau khi chạy xong Animation.

Bước 3 : Viết code trong MainAcitivity như sau :

Code full : https://github.com/huuhuybn/KeyFrame