Được rồi, tôi nghĩ rằng tôi đã tìm ra đủ điều này là hữu ích. Tôi sẽ cố gắng trả lời từng câu hỏi tôi đã nêu trong bài đăng gốc của mình. Sau đó, tôi sẽ chia sẻ một vài điều khác mà tôi đã học được về cách sử dụng hiệu quả điều này.
- Có cách nào để tránh làm rối thanh trình đơn khi ở màn hình chính không?
Không phải tôi đã phát hiện và thay đổi cài đặt dường như có hiệu ứng tích lũy thường sẽ làm hỏng màn hình chính cho đến khi bạn khởi động lại thiết bị. Tuy nhiên, bạn thường có thể ít nhất là mở khóa thiết bị, đủ để hữu ích. Điều quan trọng là bắt đầu ứng dụng của bạn trước, sau đó điều chỉnh kích thước và mật độ trong khi đã chạy ứng dụng. Chỉ cần nhấn nút nguồn để tắt màn hình, điều chỉnh kích thước và mật độ tùy thích, sau đó bật lại màn hình, mở khóa và ứng dụng của bạn sẽ chạy đúng kích thước và mật độ mới.
Tôi chỉ tìm thấy tài liệu tham khảo xiên này, nhưng tốt nhất tôi có thể xác định, đó là dành cho TV hoặc màn hình khác mà không phải tất cả màn hình đều có thể sử dụng/hiển thị. Tôi không nghĩ rằng nó thực sự áp dụng cho điện thoại hoặc máy tính bảng thông thường.
- Có cách nào để làm cho thiết bị hiển thị màn hình bằng cách sử dụng 1 pixel có kích thước mới đến 1 pixel của màn hình thực không?
Không phải tôi đã phát hiện ra. Nhưng nó có lẽ không quan trọng. Tôi nghĩ rằng điểm chính của việc sử dụng lệnh wm shell adb là kiểm tra bố cục, không phải để xem đồ họa pixel hoàn hảo. (Và hãy tin tôi, những gì bạn nhận được là điều xa nhất có thể từ điểm ảnh hoàn hảo.)
- Có cách nào khiến máy tính bảng mô phỏng điện thoại về điều gì xảy ra với thanh menu trong khi thay đổi hướng ?
Có thể tôi đang làm sai, nhưng đối với tôi, thanh trình đơn hoạt động theo những cách kỳ quái và không thể đoán trước. Đôi khi nó lớn, đôi khi nó chỉ mất tích. Đừng dựa vào việc có thể sử dụng nó. Vâng, điều này thật tệ. Ai đó xin vui lòng kêu vang trong nếu có một giải pháp cho điều này.
- Vậy làm cách nào để sử dụng "adb shell wm" một cách hiệu quả?
Tôi không chắc chắn tại sao, nhưng phải mất một chút thời gian để nắm bắt điều này. Đó có thể là vì khi tôi lần đầu tiên bắt đầu này, tâm trí của tôi đã không quen với cách suy nghĩ của Android về mọi thứ. Nhưng nó thực sự khá đơn giản.
Trước tiên, hãy đặt kích thước bạn muốn bằng pixel. Đối với cuộc thảo luận này, giả sử chúng ta sẽ sử dụng 1024x600.
Tiếp theo, đặt DPI. Nhưng bạn nên đặt nó thành cái gì?
Đó là phần khó khăn (tốt, phần mà tôi không nhận được lúc đầu). Khi bạn thiết lập DPI, bạn đang thiết lập một nửa khác của phương trình sẽ xác định kích thước trong DP của không gian ứng dụng ảo, ứng dụng sẽ sử dụng để tự render. (Duh, tôi biết, nhưng lúc đầu tôi nghĩ DPI được chỉ định sẽ được sử dụng chủ yếu để chọn tài nguyên, mà thực sự nó cũng vậy.)
Chúng ta hãy xem xét các hậu quả của việc sử dụng mật độ khác nhau với kích thước màn hình 1024x600 .
Đầu tiên, hãy ghi nhớ rằng
dp = px * (160/dpi)
Điều đó có nghĩa nếu chúng ta xác định dpi của chúng tôi tại 160, ứng dụng sẽ cho rằng không gian có sẵn là 1024dp x 600dp. Nếu thay vào đó, chúng tôi sử dụng 240, thay đổi thành 683dp x 400 dp ít ỏi và ngược lại, nếu chúng tôi sử dụng 120, chúng tôi nhận được ấn tượng 1365 dp x 800 dp. Đặt nó là 80, và bây giờ bạn đang rocking 2048dp x 1200dp.
Phần truy cập trực quan đang nhận ra rằng việc chỉ định một mật độ thấp dẫn đến hình ảnh xuất hiện giống như những gì bạn thấy trong màn hình siêu phân giải - mọi thứ đều nhỏ. Nhưng đó là vì ứng dụng hiện đang xử lý cùng một không gian vật lý như thể nó là một kích thước rất lớn trong dp.
Vì vậy, quay trở lại ví dụ về mật độ 80, chúng tôi có một khu vực ảo 2048dp x 1200dp, nhưng nó đang được nhét vào bất kỳ màn hình vật lý có kích thước nào bạn đang thực sự sử dụng. Kể từ 160dp được cho là khoảng 1 inch, đó sẽ là một máy tính bảng gần như thế giới khác với chiều rộng 12,8 inch. Nhưng toàn bộ điều đó được thu nhỏ lại thành kích thước thực tế của máy tính bảng của bạn, làm cho văn bản 30dp rộng rãi của bạn xuất hiện khá nhảm nhí.
Có lẽ tôi chỉ là đứa trẻ chậm nhất trong phòng, nhưng phải mất một lúc tôi mới thực sự lúng túng điều này. Tôi hy vọng nó giúp người khác ra khỏi đó.
Brian bạn có gặp phải vấn đề này khi kích thước wm hiển thị chân dung trong cảnh quan, lãng phí quá nhiều không gian màn hình không? – pt123
@ pt123 Ứng dụng của tôi là một ứng dụng phong cảnh, vì vậy tôi đã không thử điều đó. –
nó không trao đổi nó theo cách khác cho cảnh quan, tôi quên liên kết câu hỏi của tôi nó có một sơ đồ http://stackoverflow.com/questions/20086099/adb-set-display-size-is-incorrectly-displaying-portrait- sử dụng cảnh quan thansk – pt123