Layout Editor: nó là gì, Android Studio và tạo bố cục

Tác giả: IT Sectr Đã đăng: 2026-02-12 Thời gian đọc: 10 phút

Layout Editor là trình chỉnh sửa bố cục XML trực quan trong Android Studio cho phép tạo giao diện ứng dụng Android mà không cần viết mã thủ công. Hãy tìm hiểu nó là gì, cách làm việc với ConstraintLayout và LinearLayout, sử dụng bảng thành phần và cấu hình thuộc tính qua Bảng Thuộc tính.

Những điểm chính

  • Layout Editor — giao diện trực quan để tạo bố cục XML Android trong Android Studio với Kéo và Thả và xem trước thời gian thực
  • ConstraintLayout — bố cục cơ bản tạo hệ thống phân cấp phẳng với các ràng buộc linh hoạt giữa các phần tử
  • LinearLayout — vùng chứa để sắp xếp các widget tuyến tính theo chiều ngang hoặc chiều dọc với phân phối trọng số
  • Blueprint và Design — hai chế độ xem: sơ đồ với các ràng buộc và xem trước bố cục trực quan
  • Bảng Thuộc tính — bảng để cấu hình tất cả thuộc tính của thành phần đã chọn mà không cần chuyển sang XML

Layout Editor là gì?

Layout Editor là công cụ tích hợp trong Android Studio để thiết kế trực quan giao diện người dùng của ứng dụng Android. Nó mở ra khi nhấp đúp vào tệp bố cục XML trong thư mục res/layout/ và có sẵn qua bảng dưới cùng chuyển đổi giữa các tab Code, Design và Split. Nhà phát triển có thể kéo các thành phần từ bảng vào canvas, cấu hình thuộc tính của chúng và quan sát thay đổi trong thời gian thực.

Công cụ hỗ trợ hai chế độ hiển thị: Design (canvas trực quan với hiển thị widget thực tế) và Blueprint (biểu diễn sơ đồ với các ràng buộc và đường viền). Chế độ Split hiển thị cả mã XML và canvas trực quan cùng lúc. Chuyển đổi giữa chúng được thực hiện bằng các nút ở góc trên bên trái của trình chỉnh sửa.

Layout Editor tự động tạo mã XML cho mỗi hành động của người dùng: thêm phần tử, đặt lề, tạo ràng buộc. Điều này cho phép nhà phát triển không cần nhớ hàng chục thuộc tính XML và tập trung vào kết quả trực quan. Mã được tạo luôn có thể được chỉnh sửa thủ công trong tab Code.

Chế độMô tảPhím tắt
DesignCanvas trực quan với các thành phần thực tếShift + D
BlueprintSơ đồ với các ràng buộc và đường viềnShift + B
SplitMã XML và canvas cùng lúcShift + S

Các khu vực chính của Layout Editor

Giao diện Layout Editor được chia thành bốn khu vực: Palette (bảng thành phần), Component Tree (cây thành phần), Design Surface (canvas thiết kế) và Properties Panel (bảng thuộc tính). Palette chứa tất cả widget SDK Android có sẵn được nhóm theo danh mục: Widgets, Text, Buttons, Containers và các loại khác. Component Tree hiển thị hệ thống phân cấp bố cục dưới dạng cây, cho phép kéo các phần tử giữa các vùng chứa.

Design Surface là phần trung tâm của trình chỉnh sửa nơi bố cục được hiển thị. Trên canvas, bạn có thể chọn các phần tử, di chuyển chúng, thay đổi kích thước và tạo ràng buộc. Ở cuối canvas, có bộ chuyển đổi thiết bị và hướng để xem trước bố cục trên các màn hình khác nhau. Layout Editor hỗ trợ xem trước trên nhiều thiết bị ảo: Nexus, Pixel và Samsung.

Properties Panel hiển thị các thuộc tính của phần tử đã chọn: layout_width, layout_height, lề, đệm, trọng lực và tất cả các thuộc tính cụ thể như textSize cho TextView. Mỗi thay đổi trong Properties Panel được phản ánh ngay lập tức trên canvas và tạo mã XML tương ứng.

Ở góc trên bên trái của trình chỉnh sửa có các nút điều khiển: chọn chế độ hiển thị, bật kết nối tự động ràng buộc (Autoconnect), hiển thị ràng buộc dưới dạng đường và chuyển đổi giữa các thiết bị ảo. Nút "Thiết bị để Xem trước" cho phép chọn mô hình điện thoại thông minh, máy tính bảng hoặc Android TV để kiểm tra khả năng thích ứng.

ConstraintLayout: định vị linh hoạt

ConstraintLayout là bố cục chính được Google khuyến nghị cho tất cả các dự án Android mới. Không giống như LinearLayout lồng nhau, ConstraintLayout tạo ra hệ thống phân cấp phẳng nơi mỗi phần tử được gắn với phần tử cha, các phần tử khác hoặc đường hướng dẫn. Điều này giảm độ sâu lồng ghép và cải thiện hiệu suất kết xuất.

Mỗi phần tử trong ConstraintLayout có ràng buộc bên: app:layout_constraintStart_toStartOf, app:layout_constraintEnd_toEndOf, app:layout_constraintTop_toTopOf, app:layout_constraintBottom_toBottomOf. Các ràng buộc có thể được gắn với cha (parent) hoặc ID của phần tử khác. Một mẫu XML cơ bản trông như sau:

xml



    

Trong ví dụ này, TextView được căn giữa theo cả bốn phía của phần tử cha. Kích thước 0dp (match_constraint) có nghĩa là chiều rộng kéo dài từ ràng buộc trái đến phải. Cách tiếp cận này cho phép tạo bố cục thích ứng mà không cần kích thước cố định.

ConstraintLayout cũng hỗ trợ Độ lệch — dịch chuyển trung tâm của phần tử. Các thuộc tính layout_constraintHorizontal_biaslayout_constraintVertical_bias nhận giá trị từ 0 đến 1, trong đó 0.5 là trung tâm, 0 là sát đầu, 1 là sát cuối. Độ lệch cho phép định vị chính xác phần tử giữa hai ràng buộc.

Các tính năng bổ sung của ConstraintLayout: Guidelines (đường hướng dẫn theo phần trăm hoặc dp), Barriers(rào chắn nhóm nhiều phần tử) và Chains(chuỗi phần tử với phân phối không gian). Tất cả các phần tử này được tạo trực tiếp trong Layout Editor thông qua menu ngữ cảnh trên canvas.

LinearLayout: sắp xếp tuyến tính

LinearLayout là vùng chứa sắp xếp các phần tử con tuần tự theo chiều ngang (android:orientation="horizontal") hoặc chiều dọc (android:orientation="vertical"). Đây là bố cục đơn giản nhất để hiểu, nhưng nó tạo ra hệ thống phân cấp lồng ghép với các bố cục phức tạp, điều này có thể làm giảm hiệu suất.

Thuộc tính chính của LinearLayout là trọng số (android:layout_weight). Nó cho phép phân phối không gian trống giữa các phần tử một cách tỷ lệ theo các giá trị được chỉ định. Nếu bạn đặt weight="1" cho hai nút, chúng sẽ chiếm chiều rộng bằng nhau. Một phần tử có weight="2" sẽ nhận được gấp đôi không gian so với phần tử có weight="1". Ví dụ XML với LinearLayout:

xml


    

    

    

Trong ví dụ này, EditText nhận layout_weight="1" và chiếm tất cả không gian trống giữa labelName và btnSubmit. layout_width="0dp" cho biết chiều rộng của EditText hoàn toàn được xác định bởi trọng số. Nếu không có trọng số, bạn phải đặt chiều rộng cố định, không thích ứng được với các màn hình khác nhau.

Các tính năng quan trọng của LinearLayout: android:gravity kiểm soát căn chỉnh nội dung bên trong vùng chứa, và android:layout_gravity kiểm soát căn chỉnh của chính vùng chứa bên trong phần tử cha. LinearLayout với LinearLayout lồng nhau là nguyên nhân phổ biến của lồng ghép sâu, do đó Google khuyến nghị thay thế các cấu trúc như vậy bằng ConstraintLayout.

Mã XML: cấu trúc bố cục từ bên trong

Mỗi bố cục Android là một tệp XML trong thư mục res/layout/. Layout Editor tạo tệp này tự động, nhưng hiểu cấu trúc của nó là cần thiết để tối ưu hóa thủ công. Phần tử gốc xác định loại vùng chứa (ConstraintLayout, LinearLayout, FrameLayout), bên trong đặt các widget con.

Một mẫu XML cơ bản với ConstraintLayout bao gồm các khai báo không gian tên xmlns:android và xmlns:app. Không gian tên app được sử dụng cho các thuộc tính của thư viện ConstraintLayout, như layout_constraintStart_toStartOf. Mỗi phần tử nên được gán android:id để tham chiếu từ các phần tử khác và từ mã Activity hoặc Fragment.

Ví dụ về một đoạn bố cục với nhiều phần tử và ràng buộc:

xml


    

    

    

Trong bố cục này, ImageView được gắn vào đầu của phần tử cha và căn giữa theo chiều ngang. TextView được gắn vào cạnh dưới của ImageView (Top_toBottomOf). Button được đặt bên dưới TextView. Chuỗi ràng buộc này tạo ra cấu trúc tuần tự mà không cần LinearLayout lồng nhau.

Layout Editor cho phép chuyển đổi giữa biểu diễn trực quan và văn bản thông qua các tab Design / Code / Split. Trong chế độ Split, các thay đổi trong XML được phản ánh ngay lập tức trên canvas và ngược lại. Điều này đặc biệt thuận tiện cho việc tinh chỉnh các thuộc tính không có điều khiển trực quan trên canvas.

Bảng thành phần và Bảng Thuộc tính

Palette là bảng bên trái của Layout Editor chứa tất cả các thành phần UI có sẵn: TextView, Button, ImageView, EditText, ProgressBar, RecyclerView và các thành phần khác. Các thành phần được nhóm theo danh mục: Widgets, Text, Buttons, Containers, Transitions, Advanced. Để thêm thành phần vào canvas, chỉ cần kéo nó từ Palette vào Design Surface.

Properties Panel (bảng bên phải) hiển thị tất cả thuộc tính của phần tử đã chọn. Bảng được chia thành các phần: Id (định danh), Layout (kích thước và lề), Transform (xoay và tỷ lệ), Text (nội dung TextView), Padding and Margin. Đối với mỗi thuộc tính, có menu thả xuống với các tùy chọn: wrap_content, match_parent, match_constraint (0dp).

Một tính năng của Properties Panel là trình chỉnh sửa lề trực quan (đệm và lề) với hiển thị đồ họa. Bằng cách nhấp vào số bên cạnh mũi tên tương ứng, bạn có thể thay đổi lề bằng thanh trượt. Layout Editor tự động chuẩn hóa lề: nếu cả bốn lề giống nhau, thuộc tính android:layout_margin được sử dụng, nếu không thì các thuộc tính riêng lẻ android:layout_marginStart, android:layout_marginTop v.v.

Để chỉnh sửa thuộc tính ràng buộc trong Properties Panel, có một phần Ràng buộc đặc biệt. Nó hiển thị tất cả các liên kết của phần tử: cạnh nào được gắn vào phía nào của cha hoặc phần tử khác. Bạn có thể thay đổi loại liên kết, thêm hoặc xóa ràng buộc. Bạn cũng có thể xóa ràng buộc bằng cách nhấp vào đường tương ứng trên canvas ở chế độ Blueprint.

Danh mụcThành phầnVí dụ thuộc tính
WidgetsTextView, ImageView, ProgressBartextSize, src, max
TextEditText, AutoCompleteTextViewhint, inputType, imeOptions
ButtonsButton, ImageButton, ToggleButtontext, onClick, backgroundTint
ContainersCardView, ScrollView, RecyclerViewcardCornerRadius, clipToPadding
AdvancedWebView, MapView, VideoViewloadUrl, zOrderOnTop

Tạo bố cục thích ứng

Bố cục thích ứng là bố cục hiển thị chính xác trên các kích thước màn hình khác nhau: từ điện thoại nhỏ gọn (320dp) đến máy tính bảng lớn (600dp+) và thiết bị gập. Layout Editor cung cấp một số công cụ để kiểm tra và tạo giao diện thích ứng.

Công cụ đầu tiên là Thiết bị để Xem trước trong thanh công cụ. Danh sách thả xuống chứa các thiết bị phổ biến: Pixel 6, Pixel 9, Samsung Galaxy S25, Nexus 7, Nexus 9, Pixel C và các thiết bị khác. Bạn có thể thêm thiết bị tùy chỉnh với kích thước màn hình và mật độ pixel (dpi) tùy ý. Chuyển đổi giữa các thiết bị mất một giây và hiển thị bố cục trông như thế nào trên mỗi màn hình.

Công cụ thứ hai là bộ định tính kích thước để tạo bố cục thay thế. Trong Layout Editor, bạn có thể tạo nhiều phiên bản của cùng một tệp XML cho các kích thước màn hình, hướng hoặc mật độ khác nhau. Ví dụ: tệp activity_main.xml cho điện thoại và activity_main-sw600dp.xml cho máy tính bảng. Layout Editor tự động hiển thị xem trước cho bộ định tính đang hoạt động.

Cách tiếp cận thứ ba là ConstraintLayout với Guidelines theo phần trăm. Các đường hướng dẫn với thuộc tính app:layout_constraintGuide_percent cho phép gắn các phần tử vào vị trí phần trăm. Ví dụ: một guideline ở 50% chia màn hình làm đôi bất kể kích thước thiết bị. Đây là cách linh hoạt nhất để tạo bố cục thích ứng mà không cần nhân bản tệp XML.

Layout Editor cũng hiển thị các cảnh báo về vấn đề thích ứng: hình tam giác màu vàng trên các phần tử có chiều rộng cố định, hình ảnh quá lớn hoặc lồng ghép không tối ưu. Nhà phát triển có thể nhấp vào cảnh báo và nhận đề xuất sửa chữa.

Tối ưu hóa bố cục XML

Tối ưu hóa bố cục ảnh hưởng trực tiếp đến tốc độ kết xuất và độ mượt của ứng dụng. Layout Editor giúp phát hiện vấn đề thông qua Trình kiểm tra Bố cục tích hợp và các cảnh báo trong bảng Vấn đề. Các quy tắc tối ưu hóa chính: giảm thiểu lồng ghép, sử dụng ConstraintLayout thay vì LinearLayout lồng nhau, chọn thuộc tính kích thước phù hợp.

Độ sâu lồng ghép là kẻ thù chính của hiệu suất. Mỗi vùng chứa lồng nhau làm tăng thời gian đo lường và vẽ. Công cụ Chế độ xem Phân cấp trong Android Studio hiển thị cây bố cục. Nếu độ sâu vượt quá 5–6 cấp, bố cục cần được cấu trúc lại. ConstraintLayout giải quyết vấn đề này bằng cách thay thế 3–4 cấp lồng ghép bằng một vùng chứa phẳng duy nhất.

Khuyến nghị tối ưu hóa bố cục XML trong Layout Editor:

  • Sử dụng ConstraintLayout làm vùng chứa gốc thay vì LinearLayout lồng nhau — điều này giảm độ sâu phân cấp và tăng tốc kết xuất
  • Tránh layout_weight trong LinearLayout cho danh sách lớn — trọng số yêu cầu đo lường hai lần (bố cục hai lần)
  • Xóa các ràng buộc không sử dụng qua menu ngữ cảnh Clear Constraints of Selection trong Layout Editor
  • Sử dụng ViewStub cho các khối hiếm khi hiển thị — ViewStub trì hoãn việc nở đến thời điểm hiển thị
  • Merge cho các thành phần tái sử dụng — thẻ merge loại bỏ vùng chứa thừa khi bao gồm qua include
  • Giảm kích thước hình ảnh và sử dụng VectorDrawable thay vì PNG cho biểu tượng

Trình kiểm tra Bố cục là công cụ Android Studio để phân tích bố cục trong thời gian chạy ứng dụng. Nó hiển thị hệ thống phân cấp thực tế, thời gian đo lường và vẽ của mỗi thành phần. Layout Editor được tích hợp với Trình kiểm tra Bố cục: nhấp đúp vào cảnh báo sẽ mở vấn đề tương ứng trong báo cáo chi tiết.

Các câu hỏi thường gặp

Layout Editor trong Android Studio là gì?

Layout Editor là trình chỉnh sửa bố cục XML trực quan được tích hợp trong Android Studio. Nó cho phép bạn tạo UI ứng dụng Android bằng cách kéo các thành phần vào canvas, cấu hình thuộc tính qua bảng thuộc tính và xem kết quả trong thời gian thực. Các chế độ Design, Blueprint và Split bao gồm tất cả các giai đoạn phát triển bố cục.

Nên sử dụng bố cục nào: ConstraintLayout hay LinearLayout?

ConstraintLayout được Google khuyến nghị cho các dự án mới nhờ hệ thống phân cấp phẳng và các ràng buộc linh hoạt. LinearLayout chỉ phù hợp cho các phần tuyến tính đơn giản với 2–3 phần tử không lồng ghép. Bạn có thể kết hợp cả hai cách tiếp cận trong một bố cục, sử dụng ConstraintLayout làm vùng chứa gốc.

Làm thế nào để thêm ràng buộc trong Layout Editor?

Trong chế độ Design, di chuột qua vòng tròn trên cạnh của phần tử (đối với ConstraintLayout). Giữ nút chuột trái và kéo đường về phía cha hoặc phần tử khác cho đến khi xuất hiện điểm bắt. Để điều chỉnh lề số, sử dụng Properties Panel, phần Ràng buộc. Các ràng buộc cũng được tạo tự động khi Autoconnect được bật.

Tại sao Layout Editor hiển thị cảnh báo màu vàng?

Cảnh báo màu vàng chỉ ra các vấn đề tiềm ẩn: hiệu suất không tối ưu (lồng ghép sâu, kích thước cố định), thiếu mô tả nội dung cho khả năng truy cập, chuỗi được mã hóa cứng thay vì tài nguyên strings.xml. Mỗi cảnh báo chứa đề xuất sửa chữa. Layout Editor cũng đánh dấu các phần tử có vấn đề bằng màu đỏ nếu lỗi nghiêm trọng.

Làm thế nào để kiểm tra bố cục trên các màn hình khác nhau?

Sử dụng danh sách thả xuống Thiết bị để Xem trước trong thanh công cụ Layout Editor. Chọn bất kỳ thiết bị nào từ danh sách hoặc thêm thiết bị tùy chỉnh với kích thước tùy ý. Để kiểm tra khả năng thích ứng, tạo bố cục thay thế với bộ định tính (sw600dp, sw720dp) và chuyển đổi giữa chúng bằng cùng danh sách. Trình kiểm tra Bố cục trên thiết bị thực sẽ hiển thị kết quả cuối cùng.

Tổng kết

  • Layout Editor — trình chỉnh sửa bố cục XML trực quan trong Android Studio với các chế độ Design, Blueprint và Split
  • ConstraintLayout — vùng chứa chính với hệ thống phân cấp phẳng, ràng buộc và hỗ trợ Độ lệch, Chuỗi, Guidelines
  • LinearLayout — sắp xếp tuyến tính các phần tử với phân phối trọng số, phù hợp cho các phần đơn giản
  • Palette và Properties Panel — kéo và thả thành phần và cấu hình trực quan tất cả thuộc tính bố cục
  • Khả năng thích ứng — xem trước trên các thiết bị khác nhau, bộ định tính và Guidelines phần trăm
  • Tối ưu hóa — giảm thiểu lồng ghép, ConstraintLayout thay vì LinearLayout lồng nhau, Trình kiểm tra Bố cục
  • Mã XML được tạo tự động và có sẵn để chỉnh sửa thủ công trong tab Code

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm