Android Documentation says có hai kích thước cho một chế độ xem, các kích thước được đo được đo và kích thước bản vẽ . Thứ nguyên được đo là thứ nguyên được tính theo số đo vượt qua (phương pháp onMeasure), trong khi kích thước bản vẽ là kích thước thực trên màn hình. Cụ thể, tài liệu nói rằng:Sự khác nhau giữa getWidth/Height() và getMeasuredWidth/Height() trong SDK Android là gì?
Các giá trị này có thể, nhưng không nhất thiết phải khác với độ rộng và chiều cao được đo.
Vì vậy, câu hỏi của tôi là: điều gì có thể làm cho kích thước bản vẽ khác với kích thước được đo? Nếu phương pháp onMeasure(int,int) tôn trọng các yêu cầu bố trí (đưa ra là các thông số widthMeasureSpec và heightMeasureSpec, làm thế nào có thể SDK quyết định rằng quan điểm nên có một kích thước bản vẽ khác nhau?
Bên cạnh đó, làm thế nào/nơi trong Android Source Code đo chiều rộng/chiều cao được sử dụng để tính toán chiều rộng/chiều cao vẽ? Tôi cố gắng nhìn vào View source code, nhưng tôi không thể tìm ra cách đo lường/Chiều cao được sử dụng để tính toán chiều rộng/chiều cao cuối cùng. đệm, nhưng tôi không chắc chắn.
Tôi nghĩ rằng các biện pháp này có thể khác nhau trong trường hợp nếu cuộn được thêm vào chế độ xem. – Yury
Có thể, nhưng tôi đã phát triển một ViewGroup tùy chỉnh và điều này đang xảy ra trong mã của tôi. Tôi không giao dịch với việc di chuyển cho đến khi xảy ra hành vi này. Vì vậy, tôi nghĩ rằng nên có nhiều hơn cuộn liên quan đến điều này. – lgfischer
Tôi xác nhận, tôi cũng phát triển một ViewGroup tùy chỉnh để ép buộc tỷ lệ khung hình: Tôi đã đo chiều rộng và chiều cao (thấp hơn hoặc bằng nhau sau đó được đề xuất), nhưng kết quả là chiều rộng và chiều cao không thay đổi (không phải số đo được). Không có quan hệ với cuộn. Tôi thực sự không thể tìm thấy một cách để buộc chiều rộng và chiều cao thực sự. – ARLabs