2013-07-25 3 views
6

Tôi gặp sự cố với các lề có vẻ không thể giải thích xuất hiện ở bên trái và bên phải bố cục của tôi khi sử dụng thiết bị Nexus 10 ở chế độ nằm ngang. Tôi chắc chắn nó là một cái gì đó đáng xấu hổ đơn giản, nhưng tôi không thể tìm thấy bất kỳ đề cập đến điều này khi tìm kiếm xung quanh.Android: Lề trái/phải không mong muốn trên Nexus 10 ở chế độ ngang

Tôi khá chắc chắn nó không liên quan đến mã của tôi, bởi vì dự án Hello World mặc định do Eclipse tạo ra trưng bày hiện tượng này. Các trích đoạn ảnh chụp màn hình sau đây được lấy từ một dự án hoàn toàn mới và sự thay đổi duy nhất mà tôi đã làm là làm cho TextView textSize lớn hơn một chút cho rõ ràng:

Comparison of landscape and portrait orientations on the Nexus 10

Bạn có thể thấy rằng bên lề mặc định từ XML layout tập tin (được hiển thị bên dưới) được áp dụng chính xác ở chế độ dọc, nhưng có một biên độ bổ sung đáng kể được áp dụng ở chế độ ngang - được chỉ báo bằng thanh màu đỏ bên dưới ảnh chụp màn hình.

<!-- Default screen margins, per the Android Design guidelines. --> 
<dimen name="activity_horizontal_margin">16dp</dimen> 
<dimen name="activity_vertical_margin">16dp</dimen> 

Có ai khác nhìn thấy điều này hoặc có bất kỳ ý tưởng nào về việc tôi có thể loại bỏ chúng không? Tôi thực sự không biết bắt đầu từ đâu, bởi vì nó dường như là một thiết bị và hướng màn hình cụ thể. Plus nó ảnh hưởng đến chương trình đơn giản nhất có thể, cũng như của riêng tôi, do đó, không có ý nghĩa trong việc tách riêng mã của tôi cho đến khi tôi tìm ra cách sửa chữa trường hợp mặc định.
Các màn hình giống nhau hiển thị chính xác trên các thiết bị mô phỏng và Samsung Galaxy S2 của tôi (chạy Gingerbread). Việc thay đổi Target Build Target từ mức API 17 đến 10 cũng không làm thay đổi hiệu ứng không mong muốn. Có suy nghĩ gì không?

Trả lời

9

Ok, do đó, điều này thật dễ dàng! Lề cho Nexus 10 trong chế độ phong cảnh được lấy từ thư mục tài nguyên 'giá trị-sw720dp đất', mà tuyên bố một giá trị lớn hơn nhiều:

<!-- 
    Customize dimensions originally defined in res/values/dimens.xml (such as 
    screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. 
--> 
<dimen name="activity_horizontal_margin">128dp</dimen> 

Sau gần một năm rình rập trên SO và tìm câu trả lời cho tất cả câu hỏi của tôi, câu hỏi đầu tiên cuối cùng tôi quyết định hỏi đúng là hóa ra là tầm thường như thế này ...

+1

Cảm ơn rất nhiều. Tôi đã xử lý vấn đề này hàng giờ liền. Tôi đã thay đổi mọi chiều rộng và lề trong tất cả các bố cục và chế độ xem trong XML của mình và không có gì hiệu quả! – Tina

+0

Có ai tìm thấy blog hoặc tài liệu giải thích tại sao giá trị 128dp lớn này được sử dụng trên cảnh quan không? Tôi nhận thấy đó là tất cả trên một số bản dựng Android (ngay cả trong cài đặt). –

0

Cảm ơn, danj1974! Bạn đã dành nhiều thời gian cho tôi! Tôi đã thay đổi cài đặt trong res/values-w820dp/dimens.xml thành

<dimen name="activity_horizontal_margin">0dp</dimen> 

và hoạt động tốt.

+0

Việc xóa giá trị này khỏi tệp 'values-w820dp/dimens.xml' có đơn giản hơn không? – aga

+0

@aga, tốt, một ý tưởng hay. Tôi thấy có một giá trị tập tin/dimens.xml. Ngoài ra còn có một thuộc tính "activity_horizontal_margin" với giá trị "0dp". – CoolMind