Android Preference 去掉默认分割线

625 阅读1分钟

如果使用的是AndroidX的Preference版本,那么在布局文件中直接配置即可: 或者在代码中设置

 app:allowDividerAbove="true/false"
 app:allowDividerBelow="true/false"

或者在代码中设置,在PreferenceFragmentCompat的onActivityCreated中设置:

class SettingsFragment: PreferenceFragmentCompat() {
...
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        setDivider(null)
    }
}

如果使用的是系统的Preference,那么需要在PreferenceFragment中如下设置:

class SettingsFragment: PreferenceFragment() {
...
    override fun onActivityCreated(savedInstanceState: Bundle?) {
        super.onActivityCreated(savedInstanceState)
        val listView = view.findViewById<ListView>(android.R.id.list)
        if (listView != null) {
            listView.divider = null
        }
    }
}

onActivityCreated方法也可以替换为onActivityCreated。