在Android中,當我測量時,使用DP或其他方法是否明智?我害怕dp可能會隨着設備的不同而變化,而且除了我的手機以外,我的應用程序看起來都很糟糕。使用「dp」而不是其他的方法是明智的嗎?
0
A
回答
0
你應該總是使用dp。如果你需要在像素值,你可以使用此方法 -
public static int dpToPixels(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
0
總是使用浸
密度獨立的像素
0
如果你看一下reference文檔,你會看到這是DP點。具體來說,
密度獨立像素相當於160 dpi屏幕上的一個物理像素,它是系統爲「中等」密度屏幕假設的基準密度。在運行時,系統根據使用的屏幕的實際密度,根據需要透明地處理dp單位的任何縮放比例。將dp單位轉換爲屏幕像素很簡單:px = dp *(dpi/160)。例如,在240 dpi屏幕上,1 dp等於1.5個物理像素。定義應用程序的用戶界面時,應始終使用dp單位,以確保在不同密度的屏幕上正確顯示您的用戶界面。
所以,除非你想限制在一個單一的屏幕大小和密度,否則總是使用dp。
0
卡西姆,dp或dip是爲了防止你害怕什麼而發明的。看看這篇文章:http://developer.android.com/guide/practices/screens_support.html,以及這個其他問題:What is the difference between "px", "dp", "dip" and "sp" on Android?
0
除了dp
,您還可以使用pt
(一英寸的點= 1/72),in
(英寸)和mm
(毫米)。
由於所有這些單位都基於實際的物理尺寸,所以您的UI元素將在任何設備上保持相同的物理尺寸。
相關問題
- 1. 修改其他包中的函數類是不明智的嗎?
- 2. 使用XCode 2.5而不是3.x/4.x是不明智的?
- 3. 對於限制<100的循環,使用'short'而不是'int'是明智嗎?
- 4. 內容明智而不是頁面明智的PDF比較庫
- 5. 我的方法是明智地退出Android應用程序嗎?
- 6. 爲什麼使用捲曲而不是其他方法?
- 7. 我們可以調用MainActivity中的同一類中聲明的方法,而不是在android studio中的onCreate或其他方法中聲明的方法嗎?
- 8. ssl還是有其他方法嗎?
- 9. 保存一些NSManagedObjects而不是其他的方法?
- 10. Wordpress CMS可以使用其他DBMS而不是MySQL嗎?
- 11. 其他方式使開始菜單,而不是使用按鈕
- 12. 使用所有靜態方法而不是其他「服務」類的缺點?
- 13. 如何構建明智的數據框架而不是明智的列?
- 14. PHP調用其他類中的方法是不是
- 15. 我應該聚合嗎?這是一個明智的做法嗎?
- 16. Exec函數適用於一種方法,而不是其他方法
- 17. 其他調用dispatchEvents而不使用xml架構的方法Flex
- 18. forwardInvocation而不是實例的其他類
- 19. Ember Resource URL:如何使其使用其他值而不是ID?
- 20. 在asp.net中使用SMTP.SendAsync是明智的
- 21. 在ASP.net中使用靜態方法進行安全驗證是不明智的?
- 22. 在foreach循環中調用方法和嵌套循環是明智的嗎?
- 23. 這是正確的嗎?使用performSelector而不是隻調用該方法直接
- 24. 爲什麼不使用sp而不是dp?
- 25. 爲什麼重寫equals而不是使用其他方法名稱
- 26. 「RequestVar」的方法名稱「is」是其他單詞的簡稱嗎?
- 27. 經常在代碼中使用標誌是明智的嗎?
- 28. 使用LINQ替換循環是明智的嗎?
- 29. 在單人git項目中使用分支是明智的嗎?
- 30. 在這種情況下使用委託是明智的嗎?