Jam*_*mes 24 android preferences
我正在使用首选项标题来创建设置活动PreferenceActivity.我试图将标题划分为类别/组,如此类别(有无线和网络,设备,个人,......类别):

无论如何,即使Android开发者网站关于这种创建偏好活动的方式,我也找不到如何创建与图像上相同的偏好活动.我唯一能做的就是简单的首选项标题列表.
我发现的唯一的事情就是这个,但这有点......奇怪.所以这似乎不是一个选择.
所以我的问题是:如何PreferenceActivity使用首选项标题创建可能将标题分为类别并可能使用主开/关开关?
我的一些代码:
preference_headers.xml:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
<header
android:fragment="cz.vse.myevents.activity.SettingsActivity$EventsFragment"
android:title="@string/settings_events"
android:icon="@android:drawable/ic_menu_agenda" />
<header
android:fragment="cz.vse.myevents.activity.SettingsActivity$OrganizationsFragment"
android:title="@string/settings_subscribed_organizations"
android:icon="@android:drawable/ic_menu_view" />
</preference-headers>
Run Code Online (Sandbox Code Playgroud)
设置活动:
@Override
public void onBuildHeaders(List<Header> target) {
super.onBuildHeaders(target);
loadHeadersFromResource(R.xml.preference_headers, target);
}
Run Code Online (Sandbox Code Playgroud)
我不是发布片段资源,认为这是不必要的.
这是首选类别示例,您可以使用首选项类别并设置相应的片段并实现此目的,如果我误解您的情况,请告诉我.
这是样本布局
<PreferenceCategory android:title="Heading1">
<Preference
android:title="title1"
android:summary="summary1"
android:key="keyName"/>
<Preference
android:title="title2"
android:summary="summary2"
android:key="keyName"/>
</PreferenceCategory>
<PreferenceCategory android:title="Heading2">
<Preference
android:title="title3"
android:summary="summary3"
android:key="keyName"/>
</PreferenceCategory>
Run Code Online (Sandbox Code Playgroud)
似乎最好的解决方案是创建三个不同的代码块 - 一个用于预蜂窝,一个用于后蜂窝,一个用于平板电脑.
使用首选项标题仅对平板电脑有效,因此它们仅保留在平板电脑上.这里没有使用分组.
后Honeycomb上的首选项标题有点无用,所以最好用的是典型PreferenceScreen的a PreferenceFragment.团体可以轻松制作PreferenceCategory.
最后,对于预蜂窝,不使用的弃用方式PrefrenceFragment是唯一的方法.
可悲的是,有很多代码重复,但UnifiedPreferenceLeandros在答案中提到的库是错误的 - 它PreferenceFragment完全忽略它,所以它是无用的(至少对我而言).
| 归档时间: |
|
| 查看次数: |
28894 次 |
| 最近记录: |