2015-10-13 36 views
6

Tôi nhận được "Đặt android: baselineAligned =" false "trên thành phần này để có hiệu suất tốt hơn" trong khi sử dụng LinearLayout, tôi biết về hiệu suất của nó, nhưng tôi không biết chính xác lý do tại saoBố cục tuyến tính baselinealigned cảnh báo trên android

+1

có thể trùng lặp của [Làm thế nào để thiết lập được baselineAligned đến hiệu suất cải thiện sai trong LinearLayout?] (Http://stackoverflow.com/questions/9319916/how- không-thiết-baselinealigned-to-sai-cải thiện-hiệu suất-in-linearlayout) –

Trả lời

8

android: baselineĐược thiết lập/setBaselineĐược ký (boolean): Khi được đặt thành false, ngăn bố cục căn chỉnh đường cơ sở của trẻ em.

Vì vậy, có thể lấy một ví dụ với bố trí tuyến tính với tầm con ngang có nhiều TextView với kích thước văn bản khác nhau hoặc quan điểm khác nhau nút như có basealignment sẽ khác và bạn không thể điều chỉnh nó để có cùng basealignment nếu bạn đặt nó là sai

Reference

cập nhật: Bằng cách đặt android: baselineAligned = "false", bạn đang ngăn cản việc làm thêm cách bố trí của ứng dụng của bạn phải làm để t o Căn chỉnh đường cơ sở của trẻ em; mà rõ ràng có thể tăng hiệu suất. (Hoạt động không cần thiết ít hơn trên UI => Hiệu suất tốt hơn) như đã đề cập here

+0

Thanx cho các thông tin chi tiết @Shadow Droid –

+1

Và gotchas để làm điều này là gì? –

29

Nếu bạn đang tìm kiếm lời giải thích trực quan như tôi, bạn có thể thấy điều này hữu ích.

Khi baselineAlign được bật (tức là nếu được đặt thành true), thì tất cả văn bản trong dòng đó sẽ được căn chỉnh để có cùng đường cơ sở.

Lưu ý: Theo mặc định, baselineAligned được đặt thành true. (ví dụ: baselineAligned=true)

Khi bạn tạo baselineAligned=false, tất cả những gì cần làm là thêm các phần tử mới vào bố cục tuyến tính và được thực hiện với bố cục tuyến tính. Ứng dụng không cần phải lo lắng về vị trí cơ sở của các phần tử khác trong bố cục.

Xem hình ảnh dưới đây cho rõ ràng hơn

enter image description here

+5

Đây là câu trả lời hay nhất! và phải được chấp nhận! – Sjd

Các vấn đề liên quan