2015-02-23 45 views
1

如何選擇文本大小以使其在每個設備上看起來都一樣?我覺得這是一個不可能完成的任務,可能你會說我應該爲每個dpi製作不同的值,但這並不能解決問題,因爲存在具有相同dpi但具有不同屏幕分辨率的手機,並且最終它不會看起來不一樣。任何人都可以幫助我嗎?根據dpi和分辨率縮放TextView大小

回答

0

Android指南建議使用SP尺寸文本:http://developer.android.com/training/multiscreen/screendensities.html

的SP尺寸取決於屏幕密度,而且用戶的喜好。比方說,用戶將手機配置爲大字體(例如視覺問題),您的應用程序將可供該用戶使用。

在實踐中它看起來像這樣:textSize="16sp"

+0

它根本沒有幫助。 – Greyshack 2015-02-23 19:22:22

+0

你所要做的是違背最佳實踐。我會建議重新考慮它。但是,如果你仍然想這樣做,看看這裏如何獲得屏幕大小http://stackoverflow.com/questions/1016896/get-screen-dimensions-in-pixels一旦你有屏幕的大小,你可以很容易將它計算爲在不同密度/屏幕分辨率下爲所有字體計算「相同」尺寸。 – Quanturium 2015-02-23 19:27:20

+0

這是爲什麼違反最佳做法? – Greyshack 2015-02-23 19:36:20

0

如果你堅持有每個設備上相同的外觀,你可以在不同的設備管理的一些細節。看網頁Display classWindowManager。以下是我用於某個UI元素的示例代碼:

Display display = getActivity().getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 

祝您好運。管理所有圖形並不容易。

+0

使用重量嵌套LinearLayouts使其對文本內容除外大小,這對我來說是最難的部分。我會試試這個,謝謝。 – Greyshack 2015-02-24 08:12:37

相關問題