Android 踩坑又一發,最近在寫 app 時將原本的 PreferenceFragment 改為 PreferenceFragmentCompat,並且照之前介紹過的方式套用 material style,但改完後發現在 Android 4.2 上面 PreferenceCategory 的 left padding 為 0,跟其他的 preference 不對齊。
網路上不管怎麼搜尋,有關 left padding 的問題都是在問 support library 28 中 left padding 過大,從沒有 left padding 過小的問題,花了一天多都沒有找到原因。契而不捨的追查,血都吐了幾升,最後才發現 app 將 android:supportsRtl 設為 true 後,PreferenceCategory left padding 就恢復正常了。
android:supportsRtl 這個屬性只是影響你的 app 能不能從右到左布局,跟 Preference 根本沒有關連,怎麼都不會聯想到這個屬性會造成 Preference 布局異常。
後來用 android:supportsRtl keyword 去搜尋,也沒有找到任何跟 Preference 布局有關的討論,只能說自己太衰,踩到這個可能沒人踩過的坑。
沒有留言:
張貼留言