Trước hết nền của tôi: Tôi mới sử dụng Java từ Ruby. Nếu điều đó có ích.Tại sao các tham số bố cục hoạt động trong Lập trình Android?
Tôi nhầm lẫn về cách các tham số bố cục hoạt động. Tôi đang theo dõi giới thiệu Hello World cơ bản để tạo một Ứng dụng Android. Bước 1, mở rộng lớp Activity và phương thức onCreate() để truy cập vào bố trí XML. Ok tôi hiểu rồi.
Sau đó, tôi tạo bố cục (nói một RelativeLayout) trong Main.XML. Vì vậy, đây là việc sử dụng lớp RelativeLayout mở rộng lớp ViewGroup, cho đến nay. Sau đó, cho phép nói rằng tôi tạo ra một nút bên trong này. Đây là nơi câu hỏi của tôi bắt đầu. Nếu tôi xem ví dụ tôi đang theo dõi, tôi thấy các thuộc tính được gán cho nút thuộc về lớp RelativeLayout (ví dụ: android: layout_alignParentRight = "true"). Đây dường như là các tham số bố cục. Nhưng tại sao điều này lại hiệu quả? Lớp nút dường như kế thừa từ lớp View. Tại sao một đối tượng nút có thể chấp nhận các thuộc tính cho đối tượng RelativeLayout? Có lẽ chương trình Ruby của tôi làm tôi bối rối ..
Cảm ơn!
Cập nhật: Vì lợi ích: cảm ơn bạn với Slothsberry vì đã chỉ ra liên kết XML Layouts, có vẻ như mô tả câu trả lời rõ ràng trong 2 phần trong "Thuộc tính" và "Tham số bố cục". Phần thuộc tính sẽ đọc:
Mỗi đối tượng View và ViewGroup hỗ trợ nhiều thuộc tính XML riêng. Một số thuộc tính cụ thể cho đối tượng Chế độ xem (đối với ví dụ , TextView hỗ trợ thuộc tính textSize), nhưng các thuộc tính này cũng được thừa hưởng bởi bất kỳ đối tượng Chế độ xem nào có thể mở rộng lớp này. Một số là phổ biến cho tất cả các đối tượng View, vì chúng được thừa hưởng từ lớp View gốc (như thuộc tính id). Và, các thuộc tính khác được coi là "thông số bố cục", là thuộc tính mô tả định hướng bố cục nhất định của đối tượng Chế độ xem, như được xác định bởi đối tượng ViewGroup của đối tượng đó.
Phần thông số bố cục mặc dù có lẽ là phần thực sự trả lời câu hỏi này. Vị trí của tiểu bang:
Mỗi lớp ViewGroup thực hiện một lớp lồng nhau mở rộng ViewGroup.LayoutParams. Phân lớp này chứa các loại thuộc tính mà xác định kích thước và vị trí cho mỗi chế độ xem con, nếu thích hợp cho nhóm chế độ xem. Như bạn có thể thấy trong hình 1, nhóm xem phụ huynh xác định các tham số bố cục cho mỗi chế độ xem con (bao gồm cả trẻ em nhóm xem).
Chúng cũng cung cấp biểu đồ đẹp. Dường như một lập trình viên bắt đầu cần nhận ra rằng trong khi các lớp Java được tham chiếu, XML hoạt động giống như một trang CSS và các thuộc tính đó được tính toán lần đầu tiên trước khi được tính toán và chuyển sang các đối tác lớp Java của chúng. Đó là sự hiểu biết hiện tại của tôi anyways :)
Không, bạn đúng khi nghĩ điều này thật lạ. Tôi đã được lập trình trong java trong hơn 5 năm, và đây là một cái gì đó mà khi tôi lần đầu tiên nhìn thấy nó không có ý nghĩa với tôi. Tôi vẫn không chắc tại sao nó lại hoạt động như thế này. Hy vọng rằng chúng tôi sẽ nhận được một câu trả lời. –
https://developer.android.com/reference/android/view/View.html#Layout – samosaris