我們如何調整我們的應用程序在不同Android設備上的不同屏幕?如何讓Android應用程序兼容不同的屏幕分辨率?
回答
如果你希望你的佈局能夠在不同的分辨率屏幕上工作,你應該使用dip
作爲單位。例如:
android:layout_marginRight="10dip"
dip
代表與設備無關的像素,並使用這些在你的佈局意味着Android將自動調整你的佈局,這取決於顯示正在運行的應用程序具有設備。
你可以在Supporting Multiple Screens page in the Android Developer Documentation瞭解這些。這個文件也有處理不同顯示器的其他選項,但我認爲使用dip
可能是最簡單的。
是的,正如Dave回答的那樣,使用「dip」是最好的選擇。另外,有些屏幕有不同的高度/寬度比,所以只使用「dip」是不夠的。 然後你有2個選項。如果你總是使用像LinearLayout,RelativeLayout等佈局與「填充父母」,你會沒事的,因爲屏幕會增長。 但是有時你在某物上設置了一個固定的高度,並且如果你將它部署在機器人上(例如),它會顯得很短,因爲機器人具有比G1/G2等更多的高度/寬度比率。在這種情況下,您需要使用代碼設置高度。
當你說「你將需要使用代碼設置高度」時,你的意思是什麼?我問,因爲這是我的主要問題。我已經使用了DIP的所有功能,但底部屏幕在每個比Droid更小的屏幕上被切掉(hdpi,854x480,長)。 – joepetrakovich 2011-03-23 21:33:49
檢查使用下面的代碼
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
height = displaymetrics.heightPixels;
width = displaymetrics.widthPixels;
如果屏幕的尺寸則顯示爲480x569,因爲這只是屏幕可能會在最後得到切碎的屏幕分辨率在logcat中。爲了解決這個問題,你必須改變清單文件中的minSDK版本號。
- 1. 如何使兼容Android應用程序的多個屏幕(不同大小和不同分辨率)
- 2. 如何更改我的Android應用程序的不同屏幕分辨率?
- 3. Android的屏幕分辨率
- 4. Android的屏幕分辨率
- 5. Android應用屏幕分辨率問題
- 6. Android屏幕分辨率
- 7. 如何使swf與所有屏幕分辨率兼容?
- 8. 不同的屏幕分辨率的CSS?
- 9. 問題根據屏幕分辨率過濾android應用程序
- 10. 適應屏幕分辨率
- 11. 如何從C#winform應用程序檢索屏幕分辨率?
- 12. Android編程 - 屏幕分辨率
- 13. Android針對不同屏幕分辨率的不同佈局
- 14. 屏幕分辨率
- 15. 屏幕分辨率
- 16. 屏幕分辨率
- 17. 屏幕分辨率
- 18. 屏幕分辨率
- 19. 如何檢查Android應用程序的兼容屏幕?
- 20. 如何讓div適應動態屏幕分辨率?
- 21. 優化我的應用程序的多個屏幕分辨率
- 22. 網頁應用中的Android屏幕分辨率不恆定
- 23. 爲Android開發高分辨率屏幕,但支持低分辨率屏幕
- 24. Ionic 2大屏幕分辨率的應用程序
- 25. 混合應用程序的屏幕尺寸和分辨率
- 26. 應用程序支持所有的i-Phone屏幕分辨率?
- 27. Android平臺的屏幕分辨率
- 28. C++的屏幕分辨率
- 29. 如何閱讀屏幕分辨率 - 並更改此分辨率?
- 30. Android - 不同屏幕分辨率的奇怪行爲
Deja Vu!? 有一個類似的問題在這裏問: http://stackoverflow.com/questions/1946480/accoding-to-emulator-resolution-how-to-change-the-activityscreen-controls-size 確保你做了一個搜索然後問一個問題。 – Samuh 2009-12-23 10:12:10