2018年1月27日 星期六

Android support library preference 坑

當使用 v7 support library 的 preference 時,你會發現你的 preference 不是 material design 的樣式,如同在這邊提到的狀況一樣,原因是因為 google 在 v7 support library 中漏放了 material design 的 theme,所以才會導致你的 preference 看起來很奇怪

雖然在 v7 中沒放,但是在 v14 中有放,所以網路上有人的解法就是再將 v14 support library include 進來,然後引用 v14 中的 theme,如這邊提到的作法



但是這樣還不是完美的,因為你會發現你的 PreferenceCategory 的文字的顏色和字體不對,在 google issue tracker 有人說明在 color.xml 中加入 preference_fallback_accent_color 並定義你想要的顏色就可解決此問題

經過了上述修改,現在 preference 看起來終於像樣一點了,但是引用 v14 support library 也帶來了一些其他缺點,例如你的 app size 會變大,另外用 v14 就必須把 minSdkVersion 設定在 14 以上這對想支援舊機種的 app 來說也會造成困擾

只能說 Android 又挖坑給別人跳了

沒有留言:

張貼留言