Ứng dụng của tôi hiển thị giao diện người dùng một cửa sổ hoặc giao diện người dùng hai cửa sổ tùy thuộc vào cấu hình màn hình. Trên màn hình nhỏ hơn, nó phải là một cửa sổ cả về chân dung và phong cảnh. Trên màn hình cỡ trung (bất kỳ thứ gì có "chiều rộng nhỏ nhất" 600dp trở lên), hướng ngang bao gồm bố cục hai ngăn khá tốt, nhưng theo hướng dọc, nên sử dụng bố cục một cửa sổ. Trên màn hình lớn hơn, nên sử dụng bố cục hai ngăn trên cả hai hướng. Tôi cũng muốn hỗ trợ các vòng loại phong cách 3.2+ (như sw600dp và sw720dp) cũng như vòng loại "kích thước nhóm" cũ hơn ("xlarge").Làm cách nào để tạo một số cấu hình màn hình khác nhau cho một tập hợp các bố cục nhỏ mà không cần phải sao chép các phần của XML bố cục của tôi?
Cách trực tiếp nhất để làm điều này là tạo ra các file layout XML khác nhau, một cho mỗi cấu hình:
- res/layout-sw600dp đất/main.xml
- res/layout-sw600dp- cổng/main.xml
- res/layout-sw720dp đất/main.xml
- res/layout-sw720dp cổng/main.xml
- res/layout-xlarge cổng/main.xml
- lại s/layout-xlarge đất/main.xml
- res/layout cổng/main.xml
- res/layout/main.xml
Kết quả là, có rất nhiều sự trùng lặp mã trong 8 tệp XML này về cơ bản chỉ mô tả hai bố cục riêng biệt.
Làm cách nào tôi có thể thực hiện việc này mà không cần phải duy trì tất cả các tệp XML trùng lặp này, đó là một vấn đề đau đầu bảo trì?
này không làm việc cho tôi - tôi nhận được cảnh báo Lint và một vụ tai nạn khi chạy. Có ví dụ nào về việc này không? –