Bài viết được sự cho phép của tác giả Nguyễn Trương Trung Tín
Tiếp tục với bài viết ở phần 1, sau khi đã hiểu được View là gì, cách android vẽ giao diện lên màn hình, cách tổ chức màn hình. Thì chúng ta sẽ đi đến phần kế tiếp, làm sao để tổ chức layout được tốt, ít tốt thời gian vẽ, 1 số mẹo để cái thiện tốc độ vẽ giao diện của ứng dụng.
Optimize layout.
Nhắc lại tí nội dung của bài trước thì layout trên màn hình sẽ được tổ chức theo dạng cây, và việc đo kích thước cũng như vẽ các view lên màn hình đều là các phép duyệt cây từ cao xuống thấp. Nên tốc độ vẽ 1 màn hình có thể được xem là tổng tốc độ các lần duyệt cây layout. Nên trong phần này mình sẽ nói về cách làm PHẴN 1 cây giao diện, tổ chức 1 cây giao diện theo cách RỘNG và CẠN, thay vì HẸP mà SÂU.
Relative Layout hay Linear Layout??
Chắc hẵn một android developer không thể không biết tới 2 loại ViewGroup – Layout này. Nói sơ qua thì LinearLayout tổ chức và sắp xếp các view con theo 1 CHIỀU CỐ ĐỊNH và có thể căn chỉnh theo tỉ lệ từng thành phần. Còn RelativeLayout thì tổ chức và sắp xếp các view con theo vị trí của view cha hoặc các view con trước đó.
(Bổ sung hình)
Vậy nếu một người mới lập trình android sẽ dễ dàng chọn LinearLayout làm layout chính cho các màn hình của ứng dụng, vì nó rất dễ căn chỉnh các view theo tỉ lệ, dễ dàng sắp xếp các thành phần theo từng thành phần riêng lẽ và dễ quản lí lẫn cài đặt. Còn Relative layout rất khó cho việc căn tỉ lệ, ví trị của từng view, phải xác định vị trí của từng view đối với các view còn lại, nên sẽ rất khó trong việc cài đặt. Thử xét ví dụ với màn hình sau:
Đang viết…
Bài viết gốc được đăng tải tại tinntt.github.io
Có thể bạn quan tâm:
- View Hierarchy, Optimize Layout và Custom View (Phần 1)!
- Làm layout masonry bằng flexbox
- Tail Call Optimization là gì? Và tại sao bạn không cần quan tâm đến nó?
Xem thêm Việc làm Developer hấp dẫn trên TopDev