2012-01-18 45 views
8

Tôi phải lập trình ứng dụng Android của mình với khả năng tương thích tốt nhất với kích thước màn hình khác nhau (máy tính bảng và điện thoại thông minh) và tới các phiên bản 2.3, 3.2 và 4.0. Tôi biết về possibliy để đặt tên cho các thư mục của bố cục như res/layout-sw600dp /. để khớp chính xác bố cục với các kích thước màn hình khác nhau. Vì vậy, vì tôi sẽ sử dụng hoàn toàn bố cục khác nhau cho Máy tính bảng/Điện thoại thông minh, tôi sẽ bắt đầu với "Màn hình tải", kiểm tra phiên bản Android nào được sử dụng và nếu có sử dụng máy tính bảng hoặc điện thoại thông minh , ví dụ như trong bố trí cho máy tính bảng, sẽ có các Nút trên một số màn hình không có trên điện thoại thông minh.Chương trình bố trí khác nhau cho các phiên bản khác nhau trong android

Vì vậy, tôi sẽ phải tách tất cả điều này trong các gói, như thế này:

  • Common
  • 2,3
    • Tablet
    • Smartphone
  • 3,2
    • Tablet
    • Smartphone
  • 4,0
    • Tablet
    • Smartphone

tôi sẽ chọn tách này, nguyên nhân đó là cách tốt nhất, theo ý kiến ​​của tôi, được chuẩn bị cho sắp tới * cập nhật *, nếu, giả sử có nên được thêm một Button trong ToolBar trong Android 4.0.

Sự tách biệt này có phải là điều tốt theo ý kiến ​​của bạn hoặc đây có phải là tình trạng quá tải hoàn toàn không?

Có bất kỳ tính năng mới nào khác trong 4.0 mà tôi nên biết không?

Trả lời

15

Bạn cũng có thể đặt tên cho thư mục nguồn của bạn để chỉ số phiên bản (như /res/layout-v11) hoặc (/res/values-v13)

Về câu hỏi của bạn về tách - nó thực sự phụ thuộc vào yêu cầu cụ thể của bạn. Một cách tiếp cận phổ biến cho vấn đề này là một cơ chế rút gọn: Bạn cung cấp một vài bố cục cụ thể (ví dụ, một bố cục x11 phong cảnh xlarge) và một vài bố cục chung để quay trở lại.

Tất nhiên, đây là giải pháp "lý tưởng"; và nó không phải lúc nào cũng hoạt động theo cách đó. Nói cách khác, khó có thể thực hiện một ứng dụng tương thích với rất nhiều phiên bản của Android chỉ bằng cách cung cấp các tài nguyên thay thế. Ngay cả khi bạn sử dụng các thư viện tương thích (giúp một chút trong việc giảm mã dành riêng cho phiên bản); bạn sẽ vẫn phải điều chỉnh mã của mình dựa trên phiên bản tại thời gian chạy.

6

Bạn có thể tìm hiểu phiên bản Android đang xem Build.VERSION.

Tài liệu khuyên bạn nên kiểm tra Build.VERSION.SDK_INT dựa vào các giá trị trong Build.VERSION_CODES.

Và dựa trên phiên bản mà bạn có thể thiết lập bố trí của bạn trong khi điều kiện khác

+0

Ok, cảm ơn bạn! – 10ff

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