cho Ví dụ bạn đã sử dụng các giá trị dưới đây trong các giá trị củamens.xml.
Trong thư mục giá trị khác, bạn cần thay đổi các giá trị cho kích thước văn bản của mình.
Đối với thế hệ máy tính bảng đầu tiên chạy Android 3.0, cách thích hợp để khai báo bố cục máy tính bảng là đặt chúng vào một thư mục với bộ định cấu hình xlarge (ví dụ: res / layout-xlarge /). Để phù hợp với các loại máy tính bảng và kích thước màn hình khác — cụ thể là máy tính bảng 7 inch — Android 3.2 giới thiệu một cách mới để chỉ định tài nguyên cho các kích thước màn hình rời rạc hơn. Kỹ thuật mới dựa trên lượng không gian mà bố cục của bạn cần (chẳng hạn như 600dp chiều rộng), thay vì cố gắng làm cho bố cục của bạn phù hợp với các nhóm kích thước tổng quát (chẳng hạn như lớn hoặc xlarge).
Lý do khiến việc thiết kế máy tính bảng 7 "trở nên phức tạp khi sử dụng các nhóm kích thước tổng quát là về mặt kỹ thuật, máy tính bảng 7" nằm cùng nhóm với thiết bị cầm tay 5 "(nhóm lớn). Trong khi hai thiết bị này có vẻ gần giống nhau về kích thước , lượng không gian cho giao diện người dùng của ứng dụng là khác nhau đáng kể, cũng như phong cách tương tác của người dùng. Do đó, màn hình 7 "và 5" không phải lúc nào cũng sử dụng cùng một bố cục. Để bạn có thể cung cấp các bố cục khác nhau cho hai loại màn hình, Android hiện cho phép bạn chỉ định tài nguyên bố cục của mình dựa trên chiều rộng và / hoặc chiều cao thực sự có sẵn cho bố cục ứng dụng của bạn, được chỉ định bằng đơn vị dp.
Ví dụ: sau khi bạn đã thiết kế bố cục mà bạn muốn sử dụng cho các thiết bị kiểu máy tính bảng, bạn có thể xác định rằng bố cục ngừng hoạt động tốt khi màn hình rộng dưới 600dp. Do đó, ngưỡng này trở thành kích thước tối thiểu mà bạn yêu cầu cho bố cục máy tính bảng của mình. Do đó, bây giờ bạn có thể chỉ định rằng chỉ nên sử dụng các tài nguyên bố cục này khi có ít nhất 600dp chiều rộng cho giao diện người dùng của ứng dụng của bạn.
Bạn nên chọn chiều rộng và thiết kế theo kích thước tối thiểu của mình hoặc kiểm tra chiều rộng nhỏ nhất mà bố cục của bạn hỗ trợ sau khi hoàn tất.
Lưu ý: Hãy nhớ rằng tất cả các số liệu được sử dụng với các API kích thước mới này là giá trị pixel (dp) không phụ thuộc vào mật độ và kích thước bố cục của bạn cũng phải luôn được xác định bằng đơn vị dp, vì điều bạn quan tâm là lượng không gian màn hình có sẵn sau hệ thống chiếm mật độ màn hình (trái ngược với việc sử dụng độ phân giải pixel thô). Để biết thêm thông tin về pixel không phụ thuộc vào mật độ, hãy đọc Điều khoản và khái niệm ở phần trước trong tài liệu này. Sử dụng bộ định lượng kích thước mới
Các cấu hình tài nguyên khác nhau mà bạn có thể chỉ định dựa trên không gian có sẵn cho bố cục của bạn được tóm tắt trong bảng 2. Các định tính mới này cung cấp cho bạn nhiều quyền kiểm soát hơn đối với các kích thước màn hình cụ thể mà ứng dụng của bạn hỗ trợ, so với các nhóm kích thước màn hình truyền thống (nhỏ, bình thường, lớn và xlarge).
Lưu ý: Kích thước mà bạn chỉ định bằng cách sử dụng các bộ định lượng này không phải là kích thước màn hình thực tế. Thay vào đó, các kích thước dành cho chiều rộng hoặc chiều cao tính bằng đơn vị dp có sẵn cho cửa sổ hoạt động của bạn. Hệ thống Android có thể sử dụng một số màn hình cho giao diện người dùng hệ thống (chẳng hạn như thanh hệ thống ở cuối màn hình hoặc thanh trạng thái ở trên cùng), vì vậy một số màn hình có thể không khả dụng cho bố cục của bạn. Do đó, kích thước bạn khai báo phải cụ thể về kích thước mà hoạt động của bạn cần — hệ thống chiếm bất kỳ không gian nào được giao diện người dùng hệ thống sử dụng khi khai báo lượng không gian mà nó cung cấp cho bố cục của bạn. Cũng nên lưu ý rằng Thanh hành động được coi là một phần của không gian cửa sổ ứng dụng của bạn, mặc dù bố cục của bạn không khai báo nó, vì vậy nó làm giảm không gian có sẵn cho bố cục của bạn và bạn phải tính đến nó trong thiết kế của mình.
Bảng 2. Các tiêu chuẩn cấu hình mới cho kích thước màn hình (được giới thiệu trong Android 3.2). Cấu hình màn hình Giá trị định lượng Mô tả nhỏ nhất Chiều rộng swdp
Ví dụ: sw600dp sw720dp
Kích thước cơ bản của màn hình, được biểu thị bằng kích thước ngắn nhất của vùng màn hình khả dụng. Cụ thể, Chiều rộng nhỏ nhất của thiết bị là chiều cao và chiều rộng có sẵn của màn hình ngắn nhất (bạn cũng có thể nghĩ nó là "chiều rộng nhỏ nhất có thể" của màn hình). Bạn có thể sử dụng bộ định lượng này để đảm bảo rằng, bất kể hướng hiện tại của màn hình là gì, ứng dụng của bạn có chiều rộng ít nhất là dps cho giao diện người dùng của nó.
Ví dụ: nếu bố cục của bạn yêu cầu kích thước nhỏ nhất của diện tích màn hình luôn ít nhất là 600 dp, thì bạn có thể sử dụng bộ định lượng này để tạo tài nguyên bố cục, res / layout-sw600dp /. Hệ thống sẽ chỉ sử dụng các tài nguyên này khi kích thước nhỏ nhất của màn hình có sẵn ít nhất là 600dp, bất kể cạnh 600dp là chiều cao hay chiều rộng mà người dùng nhận thấy. Chiều rộng nhỏ nhất là đặc điểm kích thước màn hình cố định của thiết bị; Chiều rộng nhỏ nhất của thiết bị không thay đổi khi hướng của màn hình thay đổi.
Chiều rộng nhỏ nhất của thiết bị có tính đến trang trí màn hình và giao diện người dùng hệ thống. Ví dụ: nếu thiết bị có một số phần tử giao diện người dùng cố định trên màn hình chiếm không gian dọc theo trục của Chiều rộng nhỏ nhất, hệ thống sẽ tuyên bố Chiều rộng nhỏ nhất nhỏ hơn kích thước màn hình thực, vì đó là những pixel màn hình không có sẵn cho giao diện người dùng của bạn.
Đây là một giải pháp thay thế cho các bộ định lượng kích thước màn hình tổng quát (nhỏ, bình thường, lớn, xlarge) cho phép bạn xác định một số riêng biệt cho kích thước hiệu quả có sẵn cho giao diện người dùng của bạn. Sử dụng Chiều rộng nhỏ nhất để xác định kích thước màn hình chung rất hữu ích vì chiều rộng thường là yếu tố thúc đẩy thiết kế bố cục. Một giao diện người dùng thường sẽ cuộn theo chiều dọc, nhưng có những hạn chế khá khó khăn về không gian tối thiểu mà nó cần theo chiều ngang. Chiều rộng khả dụng cũng là yếu tố chính để xác định xem nên sử dụng bố cục một ngăn cho thiết bị cầm tay hay bố cục nhiều ngăn cho máy tính bảng. Do đó, bạn có thể quan tâm nhất đến chiều rộng nhỏ nhất có thể có trên mỗi thiết bị. Chiều rộng màn hình có sẵn wdp
Ví dụ: w720dp w1024dp
Chỉ định chiều rộng khả dụng tối thiểu theo đơn vị dp mà tại đó tài nguyên sẽ được sử dụng — được xác định bởi giá trị. Giá trị tương ứng của hệ thống cho chiều rộng thay đổi khi hướng của màn hình chuyển đổi giữa chiều ngang và chiều dọc để phản ánh chiều rộng thực tế hiện tại có sẵn cho giao diện người dùng của bạn.
Điều này thường hữu ích để xác định xem có nên sử dụng bố cục nhiều ngăn hay không, vì ngay cả trên thiết bị máy tính bảng, bạn thường sẽ không muốn bố cục nhiều ngăn giống nhau cho hướng dọc như bạn làm cho hướng ngang. Do đó, bạn có thể sử dụng tùy chọn này để chỉ định chiều rộng tối thiểu cần thiết cho bố cục, thay vì sử dụng cả hai tiêu chuẩn định hướng và kích thước màn hình cùng nhau. HDp chiều cao màn hình có sẵn
Ví dụ: h720dp h1024dp, v.v.
Chỉ định chiều cao màn hình tối thiểu theo đơn vị dp mà tại đó tài nguyên sẽ được sử dụng — được xác định bởi giá trị. Giá trị tương ứng của hệ thống cho chiều cao thay đổi khi hướng của màn hình chuyển đổi giữa chiều ngang và chiều dọc để phản ánh chiều cao thực tế hiện tại có sẵn cho giao diện người dùng của bạn.
Sử dụng điều này để xác định chiều cao theo yêu cầu của bố cục của bạn sẽ hữu ích theo cách tương tự như wdp để xác định chiều rộng cần thiết, thay vì sử dụng cả kích thước màn hình và định hướng. Tuy nhiên, hầu hết các ứng dụng sẽ không cần bộ định lượng này, vì giao diện người dùng thường cuộn theo chiều dọc và do đó linh hoạt hơn với chiều cao khả dụng, trong khi chiều rộng thì cứng hơn.
Mặc dù việc sử dụng các bộ định lượng này có vẻ phức tạp hơn so với việc sử dụng các nhóm kích thước màn hình, nhưng nó thực sự sẽ đơn giản hơn khi bạn xác định được các yêu cầu đối với giao diện người dùng của mình. Khi bạn thiết kế giao diện người dùng của mình, điều chính bạn có thể quan tâm là kích thước thực tế mà tại đó ứng dụng của bạn chuyển đổi giữa giao diện người dùng kiểu thiết bị cầm tay và giao diện người dùng kiểu máy tính bảng sử dụng nhiều ngăn. Điểm chính xác của công tắc này sẽ phụ thuộc vào thiết kế cụ thể của bạn — có thể bạn cần chiều rộng 720dp cho bố cục máy tính bảng của mình, có thể 600dp là đủ, hoặc 480dp, hoặc một số con số trong số này. Sử dụng các định tính này trong bảng 2, bạn kiểm soát được kích thước chính xác mà bố cục của bạn thay đổi.
Để thảo luận thêm về các định tính cấu hình kích thước này, hãy xem tài liệu Cung cấp tài nguyên. Ví dụ về cấu hình
Để giúp bạn nhắm mục tiêu một số thiết kế của mình cho các loại thiết bị khác nhau, dưới đây là một số con số về độ rộng màn hình điển hình:
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
Sử dụng các bộ định lượng kích thước từ bảng 2, ứng dụng của bạn có thể chuyển đổi giữa các tài nguyên bố cục khác nhau cho thiết bị cầm tay và máy tính bảng bằng bất kỳ số nào bạn muốn cho chiều rộng và / hoặc chiều cao. Ví dụ: nếu 600dp là chiều rộng khả dụng nhỏ nhất được bố cục máy tính bảng của bạn hỗ trợ, bạn có thể cung cấp hai bộ bố cục sau:
res / layout / main_activity.xml # Đối với thiết bị cầm tay res / layout-sw600dp / main_activity.xml # Đối với máy tính bảng
Trong trường hợp này, chiều rộng nhỏ nhất của không gian màn hình khả dụng phải là 600dp để áp dụng bố cục máy tính bảng.
Đối với các trường hợp khác mà bạn muốn tùy chỉnh thêm giao diện người dùng của mình để phân biệt giữa các kích thước, chẳng hạn như máy tính bảng 7 ”và 10”, bạn có thể xác định bố cục chiều rộng nhỏ nhất bổ sung:
res / layout / main_activity.xml # Dành cho thiết bị cầm tay (chiều rộng khả dụng nhỏ hơn 600dp) res / layout-sw600dp / main_activity.xml # Dành cho máy tính bảng 7 ”(rộng hơn 600dp) res / layout-sw720dp / main_activity.xml
Đối với máy tính bảng 10 ”(rộng 720dp và lớn hơn)
Lưu ý rằng hai bộ tài nguyên mẫu trước đó sử dụng bộ định tính "chiều rộng nhỏ nhất", swdp, chỉ định giá trị nhỏ nhất trong hai cạnh của màn hình, bất kể hướng hiện tại của thiết bị. Do đó, sử dụng swdp là một cách đơn giản để chỉ định kích thước màn hình tổng thể có sẵn cho bố cục của bạn bằng cách bỏ qua hướng của màn hình.
Tuy nhiên, trong một số trường hợp, điều có thể quan trọng đối với bố cục của bạn là chính xác chiều rộng hoặc chiều cao hiện khả dụng. Ví dụ: nếu bạn có bố cục hai ngăn với hai mảnh cạnh nhau, bạn có thể muốn sử dụng nó bất cứ khi nào màn hình cung cấp chiều rộng ít nhất 600dp, cho dù thiết bị ở hướng ngang hay dọc. Trong trường hợp này, tài nguyên của bạn có thể trông giống như sau:
res / layout / main_activity.xml # Dành cho thiết bị cầm tay (chiều rộng khả dụng nhỏ hơn 600dp) res / layout-w600dp / main_activity.xml # Nhiều ngăn (bất kỳ màn hình nào có chiều rộng khả dụng 600dp trở lên)
Lưu ý rằng tập hợp thứ hai đang sử dụng bộ định lượng "chiều rộng khả dụng", wdp. Bằng cách này, một thiết bị thực sự có thể sử dụng cả hai bố cục, tùy thuộc vào hướng của màn hình (nếu chiều rộng khả dụng ít nhất là 600dp ở một hướng và nhỏ hơn 600dp ở hướng khác).
Nếu chiều cao khả dụng là mối quan tâm đối với bạn, thì bạn có thể làm điều tương tự bằng cách sử dụng bộ định lượng hdp. Hoặc, thậm chí kết hợp vòng loại wdp và hdp nếu bạn cần thực sự cụ thể.