android - Android PreferenceFragmentCompat 标题空格
问题描述
我不知道为什么使用这个 Fragment 会出现问题,似乎 isIconSpaceReserved = false 对 not preferenceCagory 有用
class TFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
val context = preferenceManager.context
val screen = preferenceManager.createPreferenceScreen(context)
val category1 = PreferenceCategory(context)
category1.title = "button"
category1.summary = "what is the problem"
category1.key = "bbb"
val swithButton = SwitchPreferenceCompat(context)
swithButton.title = "button"
swithButton.summary = "summary"
swithButton.key = "sss"
swithButton.isIconSpaceReserved = false
val swithButton2 = EditTextPreference(context)
swithButton2.title = "edit"
val swithButton3 = SeekBarPreference(context)
swithButton3.title = "seekbar"
swithButton3.value = 1
screen.addPreference(category1)
category1.addPreference(swithButton)
val category2 = PreferenceCategory(context)
category2.title = "category2"
screen.addPreference(category2)
category2.addPreference(swithButton2)
category2.addPreference(swithButton3)
preferenceScreen = screen
}
风格很一般,我尝试了很多方法,但都没有用。
解决方案
现在,我尝试了 'androidx.preference:preference:1.1.0-alpha01' ,很幸运,它修复了 PreferenceCategory 不支持 isIconSpaceReserved 的错误。
override fun setPreferenceScreen(preferenceScreen: PreferenceScreen?) {
super.setPreferenceScreen(preferenceScreen)
if (preferenceScreen != null) {
val count = preferenceScreen.preferenceCount
for (i in 0 until count) {
if (preferenceScreen.getPreference(i) is PreferenceCategory) {
val category = preferenceScreen.getPreference(i) as PreferenceCategory
val childCount = category.preferenceCount
for (j in 0 until childCount) {
category.getPreference(j).isIconSpaceReserved = false
}
}
preferenceScreen.getPreference(i).isIconSpaceReserved = false
}
}
}
推荐阅读
- performance - Julia - 如何捕捉 UnitRanges 并防止糟糕的类型性能
- python - 从熊猫日期范围功能中删除时间
- scala - Scala Char 自动转换为 Integer
- python - 第 51 行:TypeError:列表索引必须是整数,而不是浮点数有什么问题请帮助我
- c# - 使用来自 c# 控制台的参数打印 SSRS .rdl 报告
- javascript - Bootstrap 5 选项卡窗格无法正确使用 flexbox
- javascript - 我不断收到此类型错误:无法读取未定义的属性“地图”
- angular - 使用管道角11从字符串中删除特定字符或单词
- php - 根据子值合并多维数组的子数组
- java - Java Spring如何检查两个对象是否相等并且其中一个是LAZY加载的