Tôi đã 2 viên:kích cỡ khác nhau trên 2 thiết bị, ngay cả khi tôi sử dụng "dp"
1 Samsung Android 3,0
DisplayMetrics {density=1.0, width=600, height=976,
scaledDensity=1.0, xdpi=161.55031, ydpi=155.51021}
1 thiết bị chi phí thấp, Android 2.3.3
DisplayMetrics {density=1.0, width=480, height=800,
scaledDensity=1.0, xdpi=160, ydpi=160.42105}
Nếu tôi sử dụng bố cục khác nhau cho mỗi kích thước màn hình, cả hai thiết bị đều có độ dài lớn và mdpi, vì vậy tôi không thể phân biệt chúng bằng cách sử dụng tên thư mục bố cục ... Vấn đề là:
Tôi sử dụng TextView với textSize = "20dp"
Trong thiết bị linh hoạt, chiều rộng văn bản bằng một nửa màn hình, trong thiết bị thứ hai lớn hơn (80% chiều rộng màn hình). Tại sao? Tôi hy vọng rằng cả hai thiết bị hiển thị văn bản trong cùng một cách nếu tôi sử dụng dp (và không phải px). Tôi cũng đã cố gắng với sp nhưng không thay đổi ...
(tôi đã sử dụng TextView làm ví dụ, tôi đã cùng một vấn đề với tất cả các yếu tố trong cách bố trí: Nút kích cỡ, ...)
tôi sẽ cố gắng để sử dụng tên thư mục bố cục như "layout-w600dp" hoặc tên khác được giới thiệu trong Android 3.2 nhưng đây không phải là trường hợp.
Tôi biết tôi có thể thay đổi kích thước phần tử bằng cách mã trong onLayout() nhưng tôi không muốn làm điều đó ...
Bất kỳ đề nghị?
Cập nhật
tôi giải quyết vấn đề của tôi với cách bài trí sử dụng chủ đề: Activate a specific dimens.xml at runtime
Tôi gặp vấn đề chính xác với 2 phần cứng tương tự. Phong cách giải quyết vấn đề cho kích thước và hình ảnh văn bản? Làm thế nào để bạn biết bố trí để chọn nếu cả hai thiết bị không thể được destinguished – Snake
Làm thế nào bạn có thể nói rằng 2 thiết bị không phân biệt? Bạn đã thử nhìn vào mật độ và độ phân giải chưa? DisplayMetrics có giống nhau không? –
Tôi có cả hai thiết bị hiển thị số liệu hiển thị như bạn đã trình bày. Cả hai đều tương tự với một sự khác biệt nhỏ trong xdpi, ydpi. Khi tôi nói rằng họ là như nhau tôi có nghĩa là họ là cả hai thiết bị kích thước màn hình kích thước lớn desnity trung bình. Tuy nhiên kích thước hình ảnh/kích thước nút là khác nhau – Snake