Android 8.0 Oreo推出新的TextView元件,讓TextView中的文字有變動的情形下,自動加大或縮小字型。
Android 8.0以前
我先為TextView設定底色(background)屬性以辨認其空間大小,假設原本TextView配置的空間如下圖:
我以一個稍不一樣的Hello world來當範例,想讓使用者輸入名字後,自動在Hello, 的後面加上該名字,如下:
可以清楚的看到不能自動改變大小的TextView問題了,以前,我們得要為它設定更寬更大的空間,以免有人名字很長時出問題。
Android 8.0 Oreo的Autosizing TextView
如果targetSDKVersion設為26(代表Android 8.0),使用預設的TextView,並在屬性中加入:
android:autoSizeTextType="uniform"
會以預設的方式縮放字型,如:
會自動改變字型大小的文字方塊可以讓版面設計時更有彈性,這對於目前如此多樣的手機解析度與平板,實在是個好消息啊。
更多有關Autosizing TextView:
https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview.html