Gỡ lỗi bố cục bằng Layout Inspector

Layout Inspector trong Android Studio cho phép bạn gỡ lỗi bố cục của ứng dụng bằng cách hiển thị một hệ phân cấp khung hiển thị để có thể kiểm tra thuộc tính của từng khung hiển thị. Với Layout Inspector (Trình kiểm tra bố cục), bạn có thể so sánh bố cục ứng dụng với mô hình thiết kế, hiện khung hiển thị phóng to hoặc 3D của ứng dụng và kiểm tra thông tin chi tiết về bố cục trong thời gian chạy. Điều này đặc biệt hữu ích khi bố cục được xây dựng trong thời gian chạy chứ không phải hoàn toàn bằng XML và bố cục đang hoạt động không như mong đợi.

Để tìm hiểu về Layout Editor cho Khung hiển thị, hãy xem phần Giới thiệu về Layout Editor.

Hình 1. Trình kiểm tra bố cục nhúng sẵn cho ứng dụng Jetchat.

Bắt đầu

Để khởi động Layout Inspector, hãy chạy ứng dụng của bạn, chuyển đến cửa sổ Running Devices (Thiết bị đang chạy) rồi nhấp vào Toggle Layout Inspector (Bật/tắt Layout Inspector) Bật/tắt nút của Layout Inspector nhúng. Nếu bạn chuyển đổi giữa nhiều thiết bị hoặc dự án, Layout Inspector sẽ tự động kết nối với các quy trình có thể gỡ lỗi đang chạy ở nền trước của thiết bị được kết nối.

Dưới đây là cách thực hiện một số tác vụ phổ biến:

  • Để xem hệ phân cấp và kiểm tra thuộc tính của từng khung hiển thị, hãy sử dụng cửa sổ công cụ Component Tree (Cây thành phần) và Attributes (Thuộc tính). Layout Inspector có thể yêu cầu khởi động lại hoạt động để truy cập vào những thuộc tính này. Để biết thêm thông tin, hãy xem phần Tránh hoạt động khởi động lại.
  • Để có thể chọn khung hiển thị bằng cách nhấp một lần trực tiếp vào chế độ xem hoặc di chuyển đến mã bằng cách nhấp đúp vào khung hiển thị, hãy bật Bật/tắt chế độ Kiểm tra sâu Nút bật/tắt chế độ kiểm tra sâu.
  • Để tương tác với ứng dụng, hãy tắt Toggle Deep Inspect (Bật/tắt công cụ Kiểm tra sâu) Nút bật/tắt chế độ kiểm tra sâu.
  • Để kiểm tra thiết bị thực, hãy bật tính năng phản chiếu thiết bị.
  • Để bật tính năng cập nhật trực tiếp khi bạn cập nhật giao diện người dùng của ứng dụng, hãy kiểm tra để đảm bảo bạn đã bật tính năng Chỉnh sửa trực tiếp.
  • Để sử dụng chế độ 3D, hãy chụp ảnh nhanh trong Layout Inspector Ảnh chụp nhanh trong Layout Inspector rồi nhấp vào Chế độ 3D Nút 3D.

Chọn hoặc tách riêng khung hiển thị

Khung hiển thị thường minh hoạ nội dung mà người dùng có thể nhìn thấy và tương tác cùng. Component Tree (Cây thành phần) cho thấy hệ phân cấp của ứng dụng theo thời gian thực theo từng thành phần khung hiển thị, giúp bạn gỡ lỗi bố cục ứng dụng vì bạn có thể hình dung các thành phần trong ứng dụng và những giá trị liên quan đến các thành phần đó.

Hãy nhấp vào khung hiển thị cần chọn trong Component Tree (Cây thành phần) hoặc Layout Display (Màn hình bố cục). Mọi thuộc tính bố cục cho khung hiển thị đã chọn đều xuất hiện trong bảng điều khiển Attributes (Thuộc tính).

Nếu bố cục có các khung hiển thị chồng chéo, bạn có thể thấy tất cả các khung hiển thị trong một khu vực khi nhấp chuột phải ở chế độ Deep Inspect (Kiểm tra sâu) Nút bật/tắt chế độ kiểm tra sâu. Để chọn một khung hiển thị không ở phía trước, hãy nhấp vào khung hiển thị đó trong Component Tree (Cây thành phần) hoặc xoay bố cục.

Khi xử lý các bố cục phức tạp, bạn có thể tách riêng từng khung hiển thị đơn lẻ để chỉ một tập hợp con của bố cục xuất hiện trong Component Tree (Cây thành phần) và hiển thị ở Layout Display (Màn hình bố cục). Để tách riêng một khung hiển thị, hãy chụp nhanh Ảnh chụp nhanh trong Layout Inspector, nhấp chuột phải vào khung hiển thị đó trong Component Tree (Cây thành phần) rồi chọn Show Only Subtree (Chỉ hiện cây con) hoặc Show Only Parents (Chỉ hiện cây mẹ). Để quay lại khung hiển thị toàn bộ, hãy nhấp chuột phải vào khung đó rồi chọn Show All (Hiện tất cả). Bạn phải chụp ảnh nhanh trước khi tách riêng khung hiển thị.

Ẩn đường viền bố cục và nhãn khung hiển thị

Để ẩn hộp giới hạn hoặc nhãn khung hiển thị cho thành phần bố cục, hãy nhấp vào biểu tượng View Options (Tuỳ chọn cho khung hiển thị) Nút View Options (Tuỳ chọn cho khung hiển thị) ở đầu phần Layout Display (Màn hình bố cục) rồi bật/tắt tuỳ chọn Show Borders (Hiện đường viền) hoặc Show View Label (Hiện nhãn khung hiển thị).

Ghi lại ảnh chụp nhanh về hệ thống phân cấp bố cục

Layout Inspector (Trình kiểm tra bố cục) cho phép bạn lưu ảnh chụp nhanh về hệ phân cấp bố cục của ứng dụng đang chạy để bạn có thể chia sẻ với người khác hoặc để tham khảo sau.

Ảnh chụp nhanh ghi lại dữ liệu mà bạn thường thấy khi sử dụng Layout Inspector, bao gồm cả thông tin kết xuất chi tiết ở dạng 3D về bố cục, cây thành phần của Khung hiển thị, Compose hoặc bố cục kết hợp và các thuộc tính chi tiết của mỗi thành phần trong giao diện người dùng. Để lưu ảnh chụp nhanh, hãy nhấp vào biểu tượng Xuất/nhập ảnh chụp nhanh Xuất/nhập ảnh chụp nhanh rồi nhấp vào Export snapshot (Xuất ảnh chụp nhanh).

Tải một bản tổng quan nhanh Layout Inspector đã lưu trước đó bằng cách nhấp vào Import snapshot (Nhập ảnh chụp nhanh).

Chế độ 3D

Layout Display (Màn hình bố cục) sẽ hiện hình ảnh 3D nâng cao về hệ phân cấp khung hiển thị của ứng dụng trong thời gian chạy. Để sử dụng tính năng này, hãy chụp nhanh Xuất/nhập ảnh chụp nhanh, nhấp vào nút Chế độ 3D Nút 3D trong cửa sổ Trình kiểm tra ảnh chụp nhanh và xoay bằng cách kéo chuột.

Layout Inspector: khung hiển thị 3D
Hình 2. Chế độ xem 3D xoay của một Layout (Bố cục).
Layout Inspector: khung hiển thị khoảng cách lớp (layer spacing)
Hình 3. Để mở rộng hoặc thu gọn các lớp của Layout (Bố cục), hãy dùng thanh trượt Layer Spacing (Khoảng cách lớp).

So sánh bố cục ứng dụng với lớp ảnh tham chiếu

Để so sánh bố cục ứng dụng của bạn với hình ảnh tham chiếu, chẳng hạn như với bản minh hoạ giao diện người dùng, bạn có thể tải lớp ảnh bitmap trong Layout Inspector (Trình kiểm tra bố cục).

  • Để tải lớp phủ, hãy chọn mục Load Overlay (Tải lớp phủ) trên thanh công cụ Layout Inspector (Trình kiểm tra bố cục). Lớp phủ được điều chỉnh theo tỷ lệ để vừa với bố cục.
  • Để điều chỉnh độ trong suốt của lớp phủ, hãy dùng thanh trượt Overlay Alpha (Lớp phủ Alpha).
  • Để xoá lớp phủ, hãy nhấp vào biểu tượng Clear Overlay (Xoá lớp phủ)

Kiểm tra Compose

Layout Inspector cho phép bạn kiểm tra bố cục Compose bên trong một ứng dụng đang chạy trong trình mô phỏng hoặc thiết bị thực. Bạn có thể dùng Layout Inspector để kiểm tra tần suất kết hợp lại hoặc bỏ qua thành phần kết hợp, từ đó xác định vấn đề của ứng dụng. Ví dụ: một số lỗi lập trình có thể khiến giao diện người dùng kết hợp lại quá mức, dẫn đến hiệu suất kém. Một số lỗi lập trình có thể ngăn giao diện người dùng kết hợp lại, từ đó khiến các thay đổi của giao diện người dùng không xuất hiện được trên màn hình.

Tìm hiểu thêm về Layout Inspector cho Compose

Tránh tình trạng hoạt động khởi động lại

Layout Inspector cần một trong các chế độ cài đặt chung sau đây để hoạt động đúng cách. Nếu bạn không chỉ định chế độ cài đặt chung, Layout Inspector sẽ tự động đặt một chế độ như vậy.

  1. adb shell settings put global debug_view_attributes_application_package <processname>

    Tuỳ chọn này tạo thêm thông tin để kiểm tra quy trình đã chỉ định.

  2. adb shell settings put global debug_view_attributes 1

    Tuỳ chọn này tạo thêm thông tin để kiểm tra tất cả các quy trình trên thiết bị.

Việc thay đổi một chế độ cài đặt chung có thể khiến hoạt động khởi động lại. Để hoạt động không khởi động lại, bạn có thể thay đổi chế độ cài đặt trong Android Studio hoặc thay đổi Developer Options (Tuỳ chọn cho nhà phát triển) ở phần cài đặt của thiết bị.

Để bật tính năng tự động làm mới trong Android Studio, hãy mở Run/Debug Configurations (Cấu hình chạy/gỡ lỗi) bằng cách chọn Run (Chạy) > Edit Configurations (Chỉnh sửa cấu hình) trên trình đơn. Sau đó, hãy chuyển đến thẻ Miscellaneous (Khác) rồi chọn ô Connect to Layout Inspector without restarting activity (Kết nối với Layout Inspector mà không cần khởi động lại hoạt động) trong Layout Inspector Options (Tuỳ chọn cho Layout Inspector).

Tuỳ chọn khởi động lại hoạt động trong cấu hình Run (Chạy)
Hình 4. Bật tính năng tự động làm mới trong hộp thoại Run/Debug Configurations (Cấu hình chạy/gỡ lỗi).

Ngoài ra, hãy bật các tuỳ chọn cho nhà phát triển trên thiết bị của bạn rồi bật tuỳ chọn Cho phép kiểm tra thuộc tính khung hiển thị trong phần cài đặt dành cho nhà phát triển của thiết bị.

Layout Inspector độc lập

Để có hiệu suất tối ưu, bạn nên sử dụng Layout Inspector ở chế độ nhúng mặc định. Nếu bạn muốn bỏ nhúng Layout Inspector, hãy chuyển đến File (Tệp) (Android Studio trên macOS)> Settings > Tools > Layout Inspector (Cài đặt > Công cụ > Layout Inspector) rồi bỏ chọn hộp đánh dấu EnableEmbedded Layout Inspector (Bật Layout Inspector được nhúng).

Ở chế độ độc lập, hãy bật tính năng cập nhật trực tiếp bằng cách nhấp vào tuỳ chọn Live Updates (Bản cập nhật trực tiếp) trên thanh công cụ Layout Inspector (Trình kiểm tra bố cục).