2013-05-05 58 views
0

我有一個Android應用程序,可以滿足所有四種屏幕尺寸,小型,正常,大型和超大型。對於每種尺寸我都有縱向和橫向佈局。Android應用程序佈局破碎大文

我有一些來自我的用戶的負面反饋,說在某些屏幕上佈局不「合適」,例如,佈局已經超過了物理屏幕的大小。

我已確定兩個可能的原因

  1. 用戶已切換到這已經引起我的申請文本分割在「非規範」字體多行

  2. 用戶已經選擇了大字體手機設置中的大小與1)具有相同的效果。以上

有沒有一種技術可以讓我的應用程序免受這些類型的用戶配置更改的影響?

我的應用程序有自己的TTF字體,我從本地資源文件夾加載。我認爲這會讓我的應用程序與上述問題隔離開來。

回答

3

系統字體會覆蓋您在應用中執行的任何操作,所以我認爲您運氣不佳。以這種方式考慮:傾向於將系統字體大小設置爲較大的用戶通常會出現某種視覺障礙,需要更大,更易讀的文本。因此,如果您的應用在其上強制使用較小的字體以保留您的美學感,那麼這些用戶不會很高興。 「用戶體驗」的概念表明代碼爲用戶服務,而不是相反。

如果您真的堅持要求嚴格的字體大小,那麼您可以簡單地製作圖像並使用ImageView來支持TextView。這樣,無論用戶對他的字體或字體大小做了什麼,文本實際上都是一個圖像,因此不會受到影響。我嚴格按照完全回答您的問題的精神提出這一建議,但我強烈建議您不要過於嚴厲。本地化將成爲一場噩夢,您最終可能會失去想要控制字體和字體大小的用戶,無論出於何種原因。

+0

感謝您花時間回覆。我需要讓我的用戶滿意......我如何檢測他們「破壞了」我的佈局?我怎麼能保持用戶愉快和我的佈局仍然完好? – Hector 2013-05-05 10:53:08

+0

嘗試getContext()。getResources()。getDisplayMetrics()。density;獲取字體的比例。無論您的應用的首選字體大小是多少(比如說14sp),這就是您用來縮放文本大小的數字。但是,這仍然不會讓那些想要大文本的人獲得大文本。你需要玩你的佈局,使他們更靈活。如果可以的話,留出更多空白空間。從美學角度而言,使用得當的白色空間非常令人愉悅,並且在必要時給予您的視野空間。 – MarsAtomic 2013-05-05 11:01:09