模仿偏好屏幕并显示键值属性

问题描述 投票:0回答:1

我如何在不做太多工作的情况下模仿android的首选项屏幕或“编辑联系人”屏幕的设计?我必须显示一个对象的〜12个属性,并且无法理解如何正确显示它们。

  • 不是每个属性都有明显的图标->我们想要标签吗?
  • 在带有图标的其他文本视图下面显示文本视图看起来很可怕,除非您要手动添加边距。 (缩进)
  • PreferenceFragment具有一种“标题”,可以用作Label和Value,因为我有一些交互元素(项目选择器),所以它会更加完美。
  • 但是使用不带SharedPreferences的preferencefragment来显示任意对象显然是一个(不好?)技巧。

我进行了很多搜索,但没有得出结论。我有想念的明显方法吗?

android android-layout layout preferenceactivity
1个回答
0
投票

您实际上可以轻松创建设置活动(具有全部功能)。

转到File > New > Activity > Settings Activity

它将创建全部功能-您只需要在其中指定开关,列表

res > xml > prefs_.xml

您通过屏幕设置的值将保存在指定键下的SharedPreferences中。

要截取通过UI配置为SharedPreferences的值,可以将其添加到SettingsActivity:

 class SettingsFragment : PreferenceFragmentCompat() {
    override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
        setPreferencesFromResource(R.xml.pref_general, rootKey)

        findPreference<ListPreference>("system_theme")?.setOnPreferenceClickListener { 
            val value = (it as? ListPreference)?.value
            //send value to server
            return@setOnPreferenceClickListener true
        }
     }
  }
© www.soinside.com 2019 - 2024. All rights reserved.