2013-03-18 127 views
1

我正在開發一個Android項目,我需要基於JSON佈局文件構建佈局。這個文件也在iOS應用中使用。所以有一個文件會在Android和iOS上呈現相同的佈局。Android中字體大小pt

JSON佈局文件根據默認iOS字體單位定義其字體大小。

Android docs

點 - 1/72基於屏幕的物理尺寸英寸。

而且據我所知,iOS字體大小也定義爲1/72英寸。

因此,基於此信息,我會說下面應該足夠:

view.setTextSize(TypedValue.COMPLEX_UNIT_PT, fontSizeInIosUnit) 

然而,這導致文本太大。它也似乎每個設備不同(這是奇怪的,因爲點應始終顯示在相同的物理尺寸)。

+0

Android有字體設置,您可以在其中選擇您的字體是否應該很小,小,正常,大而巨大。也許這是你的問題? – agamov 2013-03-18 12:34:28

+0

@agamov此設置僅影響SP – sroes 2013-03-18 12:36:05

回答

-1

如果要根據屏幕大小正確調整字體大小,則應該使用dp/dip。 那麼試試這個來代替:

view.setTextSize(TypedValue.COMPLEX_UNIT_DIP, fontSizeInIosUnit); 

現在,這可能不是exacly相同的,但在我的經驗,這給了最好的結果。如果它沒有合適的尺寸,那麼在Android上將你需要的尺寸確定爲基本尺寸,然後改爲使用它。

+1

中定義的大小不,您應該使用SP和字體,DP用於其他所有內容。 – 2014-10-27 20:26:59

+0

@JeffreyBlattman是和否。 SP在一個理想的世界中,但通常你會有一個設計,在這個設計中文本只需要修復。對於這個答案,SP已經很好。 – Warpzit 2014-10-27 20:33:35