Share Button
Các cách thêm giao diện trong lập trình android
09
September
2013

Chào các bạn! Tiếp theo bài học lập trình di động đà nẵng, hôm nay chúng tôi sẽ hướng dẫn các bạn cách thêm giao diện trong lập trình android.

Có 2 cách chính để thêm giao diện là:
Cách 1: kéo thả đối tượng giao diện trên khung Layout, Views bên tay trái .

Các cách thêm giao diện trong lập trình android
 Hình minh họa cho việc kéo thả giao diện từ khung Layouts và Views

Ta kéo thả khung chứa (layout) và các widget (Views) vào giao diện kế bên sau đó tinh chỉnh các thuộc tính để chúng thể hiện như ý
muốn.
Cách 2: thêm trực tiếp trên khung Outline thông qua nút .

Các cách thêm giao diện trong lập trình android
Hình minh họa cho việc tạo giao diện từ khung Outline

Với các Layout, chúng ta có thể thêm các widget cho nó bằng cách nhấp chọn vào layout và chọn dấu cộng để hiện khung thoại sau để thêm vào layout con hoặc widget mà bạn cần:

Các cách thêm giao diện trong lập trình android
 Hình minh họa việc thêm một phần tử mới từ khung Outline

Ngoài ra còn cách “pro” hơn là gõ dòng lệnh XML trực tiếp lên tập tin XML. Nhưng nếu làm vậy thì việc lập trình sẽ dài dòng và khó khăn vì ta phải đảm bảo cú pháp XML và khó quản lý khi giao diện bắt đầu phức tạp dần.
1. Thứ tự cấp bậc giao diện
Thông thường, một tập tin giao diện nên có một khung chứa nếu không có khung chứa thì tập tin giao diện ấy chỉ chứa được duy nhất một widget mà thôi. Chúng ta kết hợp nhiều khung chứa để tạo nên một giao diện hoàn chỉnh. Bằng cách chạy tập tin hierarchyViewer.bat trong thư mục /android-sdkwindows/tool ta sẽ xem được cấu trúc giao diện hiện tại của một acitivity hiện hành của một ứng dụng hiện đang chạy trên một máy ảo. Lưu ý là plugin này có thể liên kết với nhiều máy ảo khác nhau.
Các cách thêm giao diện trong lập trình android
 Các công cụ hỗ trợ bên trong thư mục Android SDK

Đây là giao diện của công cụ trên:

Các cách thêm giao diện trong lập trình android
Giao diện công cụ Hierarchy Viewer

Dựa theo cây trên, ta có thể nhìn tổng quát hơn về hệ thống cấp bậc của giao diện và các phương thức và thuộc tính của nó khi ứng dụng đang thực thi.

2. Các từ khóa thường gặp trong lập trình giao diện
Chúng tôi tìm hiểu lập trình giao diện trên nhiều nguồn như tài liệu, các website hướng dẫn lập trình Android thì có nhiều từ được lặp đi lặp lại như sau:
View, Widget, Control: là các đối tượng trực tiếp nhận được sự tương tác với người dùng. Ví dụ như nút nhấn, edit text,.v.v…
Container: đây là một View mà chứa các View khác. Ví dụ như một lưới có thể xem là một container bởi vì nó chứa các ô và đương nhiên mỗi ô là một View.
Layout: là một tập tin XML để mô tả một màn hình giao diện nhưng đôi khi lại được dùng để mô tả khung chứa như LinearLayout, FrameLayout, TableLayout, …
3. Các đơn vị tính trên giao diện
Lúc trước, các nhà lập trình dùng đơn vị pixel để để định kích thước cho các phần tử trên giao diện bởi vì kích thước màn hình theo đơn vị pixel; ví dụ như  320×480 pixel. Vấn đề xảy ra với pixel đó là nếu chúng ta chạy ứng dụng trên màn hình có độ phân giải cao hơn thì giao diện trở nên nhỏ hơn và thậm chí rất khó thấy.Chính vì lí do trên, để giải quyết vấn đề này ta phải có giải pháp làm sao cho kích
thước các phần tử phải độc lập với độ phân giải. Android đưa ra nhiều đơn vị để lựa chọn tùy thuộc vào nhu cầu nhà phát triển:
px (pixel): số lượng điểm ảnh trên màn hình.In(inches): kích thước được tính bằng đơn vị inches.
Mm(milimeters): kích thước được tính bằng đơn vị milimet.
Pt (points): có kích thước 1/72 inch.
Dp (density-independent pixels): đơn vị ảo dựa trên độ dày đặc của màn hình. Trên màn hình có 160 điểm ảnh trên 1 inch thì 1dp=1px.
Dip: gần nghĩa giống dp, được dùng nhiều trong các ví dụ ứng dụ mẫu của Google.
Sp (scale-independent pixels): tương tự như dp nhưng áp dụng cho kích tước các font chữ.
Riêng về kinh nghiệm của chúng tôi, thì chúng ta nên dùng đơn vị dip làm độ đo cho kích thước các đối tượng widget trên màn hình vì nói chung nó được Google dùng nhiều trên các ví dụ. Ngoài ra, như đã nói, dip cũng như dp nó sẽ có độ co giãn tùy thuộc theo từng màn hình cho nên đã giải quyết được vấn đề đã nêu ở ban đầu mục này. Tương tự cho font chữ cũng thế, ta nên dùng đơn vị sp cho chúng.

Đăng bình luận

Thành viên bình luận

  • 1908 View