首选项屏幕显示文本块

我正在尝试创建一个只有关于,联系和合法选项的首选项屏幕,所有这些选项在单击时只显示单独页面中的文本模糊和图标,没有shared preferences或任何内容。

我无法理解层次结构以显示文本。 我希望流程为: settings -> about -> the about text

目前我有这个,它给了我类别和选项,但我不知道该怎么做才能显示新文本。

     ...  

我不知道使用什么选项来使可点击进入textview。

Solutions Collecting From Web of "首选项屏幕显示文本块"

您无法在PreferenceScreen添加格式化的文本块,这不是它的意思。 但是,您可以在另一个活动中添加您的About文本(带有一些格式化TextViewLinearLayout可能就足够了)。 通过在首选项中传递intent来调用它:

      

A.Grandt的解决方案在Preference Activity中提供了非常好的模拟文本块,但我会添加一个android:persistent="false"属性,这样可以避免将不必要的“伪首选项”存储到SharedPreferences文件中,以用于应用程序的设置。

总结一下。 在A.Adrand建议的模拟Preferences活动中的TextView将是:

  

虽然您可以使用\n进行换行,但它不会调整首选项本身的大小,因此这些多行可能无法在静态单行首选项中完全可见。

我遇到了同样的问题,需要显示静态文本块。 虽然在我的情况下,它已列入首选项页面。

标签允许链接虽然不能解决对静态文本的需求。 但是,Preference标签本身也是如此。 您可以让它显示文本,通常的标题行,以及下面的文本摘要,两者都是可选的,然后使其无法选择。 它会给出静态文本的错觉。

  

我想添加一个文本块,但是以编程方式设置实际的文本内容 。 我的具体需求:在首选项屏幕的顶部显示应用程序版本名称。

我按照A.Grandt和Krzysiek的方法完成了它,并在代码中设置了摘要。

dev_preferences.xml

  

首选项片段( extends PreferenceFragment ):

  private static final String KEY_APP_VERSION = "pref_app_version"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.dev_preferences); findPreference(KEY_APP_VERSION).setSummary(BuildConfig.VERSION_NAME); } 

我还通过在

条目中设置android:layout="@layout/dev_preferences_header"来结束使用自定义布局( 如在此答案中 )。 (不是强制性的,但通过这种方式,您可以轻松自定义首选项“标题”的外观。)

dev_preferences_header.xml