Tôi cũng đang gặp phải vấn đề như vậy trong đơn đăng ký của mình. Nhưng tôi tìm thấy một giải pháp tốt cho việc này. Tôi chỉ có một bố cục cho tablet
và tên thư mục là layout-sw600dp
. Bây giờ, khi có vấn đề về chiều cao và chiều rộng, tôi đã tạo một số thư mục values
khác nhau, trong đó tôi đặt dimensions
và font size
và các thư khác. Vì vậy, sẽ không có giá trị constant
trong layout
của màn hình máy tính bảng.
androd:layout_width:"60dp" // i drop this scenario
androd:layout_width:"@dimen/tab_width" // i used this scenario
và tên values
thư mục của bạn sẽ như thế nào
values-xlarge
values-large
Tất cả các giá trị này sẽ được lấy từ thư mục giá trị của bạn. Nó sẽ không tạo bố cục khác nhau, nhưng một bố cục có thể được sử dụng nhiều lần.
Dưới đây là các từ của trang web Developer.android
. Cấu hình ví dụ
Để giúp bạn nhắm mục tiêu một số thiết kế của bạn với nhiều loại thiết bị khác nhau, sau đây là một vài con số cho độ rộng màn hình tiêu biểu:
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 vòng loại kích thước từ bảng 2, ứng dụng của bạn có thể chuyển đổi giữa tài nguyên bố cục khác nhau của bạn cho thiết bị cầm tay và máy tính bảng sử dụ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 nhỏ nhất có sẵn hỗ trợ bởi bố trí máy tính bảng, bạn có thể cung cấp hai bộ bố trí:
res/layout/main_activity.xml # Đối với điện thoại di động
res/layout-sw600dp/main_activity.xml # cho máy tính bảng
===
trong này, bạn có thể thấy rằng, bố trí cho 1280 * 720 là dưới layout-sw720dp
nên thay vì tạo layout-normal-xlarge
bạn nên sử dụng điều này cho phép bạn để quyết định sự khác biệt. Thay vì xác định khác nhau bằng cách sử dụng layout-large-mdpi
và layout-large-ldpi
, bạn không chỉ xác định được là smallest width
? Bởi vì, android cung cấp thư mục drawables
cho các hình ảnh khác nhau, điều duy nhất là độ phân giải của nó. Và bạn có giải pháp trên.
Sửa
Sau đó, bạn phải có để phát triển bố trí khác nhau. Không có lựa chọn nào khác. Tôi tìm thấy tại http://jamil.fluidsoul.net/2011/03/06/creating-android-applications-for-multiple-screen-sizes.
Low density Small screens QVGA 240x320 (120dpi):
layout-small-ldpi (240x320)
layout-small-land-ldpi (320x240)
Low density Normal screens WVGA400 240x400 (x432) (120dpi):
layout-ldpi (240 x 400)
layout-land-ldpi (400 x 240)
Medium density Normal screens HVGA 320x480 (160dpi):
layout-mdpi (320 x 480)
layout-land-mdpi (480 x 320)
Medium density Large screens HVGA 320x480 (160dpi):
layout-large-mdpi (320 x 480)
layout-large-land-mdpi (480 x 320)
Galaxy Tab (240 dpi):
layout-large (600 x 1024)
layout-large-land (1024 x 600)
High density Normal screens WVGA800 480x800 (x854) (240 dpi):
layout-hdpi (480 x 800)
layout-land-hdpi (800 x 480)
Xoom (medium density large but 1280x800 res) (160 dpi):
layout-xlarge (800 x 1280)
layout-xlarge-land (1280 x 800)
là cấp api của bạn> 13 (phiên bản> 3.2)? –
tab thiên hà là cấp api 15 (4.0.4). Mức api tối thiểu của tôi phải là 8 ... – berestom