Android 8.0 Oreo的新文字方塊TextView的字型可以自動變大或變小了

Android 8.0 Oreo推出新的TextView元件,讓TextView中的文字有變動的情形下,自動加大或縮小字型。

Android 8.0以前

我先為TextView設定底色(background)屬性以辨認其空間大小,假設原本TextView配置的空間如下圖:

old textview
old textview

我以一個稍不一樣的Hello world來當範例,想讓使用者輸入名字後,自動在Hello, 的後面加上該名字,如下:
old textview problem
old textview problem

可以清楚的看到不能自動改變大小的TextView問題了,以前,我們得要為它設定更寬更大的空間,以免有人名字很長時出問題。

Android 8.0 Oreo的Autosizing TextView

如果targetSDKVersion設為26(代表Android 8.0),使用預設的TextView,並在屬性中加入:

android:autoSizeTextType="uniform"

會以預設的方式縮放字型,如:

resizing textview
resizing textview

會自動改變字型大小的文字方塊可以讓版面設計時更有彈性,這對於目前如此多樣的手機解析度與平板,實在是個好消息啊。
更多有關Autosizing TextView:
https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview.html

Comments

No comments yet. Why don’t you start the discussion?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *