belongs to Maven artifact com.android.support:preference-leanback-v17:28.0.0-alpha1
LeanbackPreferenceFragment
public
abstract
class
LeanbackPreferenceFragment
extends BaseLeanbackPreferenceFragment
java.lang.Object | ||||
↳ | android.app.Fragment | |||
↳ | android.support.v14.preference.PreferenceFragment | |||
↳ | android.support.v17.preference.BaseLeanbackPreferenceFragment | |||
↳ | android.support.v17.preference.LeanbackPreferenceFragment |
This fragment provides a fully decorated leanback-style preference fragment, including a list background and header.
The following sample code shows a simple leanback preference fragment that is populated from a resource. The resource it loads is:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/root_title"> <Preference android:key="basic_preference" android:title="@string/title_basic_preference" android:summary="@string/summary_basic_preference" /> <Preference android:key="stylish_preference" android:title="@string/title_stylish_preference" android:summary="@string/summary_stylish_preference" /> <Preference android:key="preference_with_icon" android:title="Preference with icon" android:summary="This preference has an icon" android:icon="@android:drawable/ic_menu_camera" /> <PreferenceCategory android:title="@string/inline_preferences"> <CheckBoxPreference android:key="checkbox_preference" android:title="@string/title_checkbox_preference" android:summary="@string/summary_checkbox_preference" /> <SwitchPreference android:key="switch_preference" android:title="Switch preference" android:summary="This is a switch" /> <DropDownPreference android:key="dropdown_preference" android:title="@string/title_dropdown_preference" android:summary="@string/summary_dropdown_preference" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" /> </PreferenceCategory> <PreferenceCategory android:title="@string/dialog_based_preferences"> <EditTextPreference android:key="edittext_preference" android:title="@string/title_edittext_preference" android:summary="@string/summary_edittext_preference" android:dialogTitle="@string/dialog_title_edittext_preference" /> <ListPreference android:key="list_preference" android:title="@string/title_list_preference" android:summary="@string/summary_list_preference" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" android:dialogTitle="@string/dialog_title_list_preference" /> <MultiSelectListPreference android:key="multi_select_list_preference" android:title="@string/title_multi_list_preference" android:summary="@string/summary_multi_list_preference" android:entries="@array/entries_list_preference" android:entryValues="@array/entryvalues_list_preference" android:dialogTitle="@string/dialog_title_multi_list_preference" /> </PreferenceCategory> <PreferenceCategory android:title="@string/launch_preferences"> <!-- This PreferenceScreen tag serves as a screen break (similar to page break in word processing). Like for other preference types, we assign a key here so it is able to save and restore its instance state. --> <PreferenceScreen android:key="screen_preference" android:title="@string/title_screen_preference" android:summary="@string/summary_screen_preference"> <!-- You can place more preferences here that will be shown on the next screen. --> <CheckBoxPreference android:key="next_screen_checkbox_preference" android:title="@string/title_next_screen_toggle_preference" android:summary="@string/summary_next_screen_toggle_preference" /> </PreferenceScreen> <PreferenceScreen android:title="@string/title_intent_preference" android:summary="@string/summary_intent_preference"> <intent android:action="android.intent.action.VIEW" android:data="http://www.android.com" /> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title="@string/preference_attributes"> <CheckBoxPreference android:key="parent_checkbox_preference" android:title="@string/title_parent_preference" android:summary="@string/summary_parent_preference" /> <!-- The visual style of a child is defined by this styled theme attribute. --> <CheckBoxPreference android:key="child_checkbox_preference" android:dependency="parent_checkbox_preference" android:layout="?android:attr/preferenceLayoutChild" android:title="@string/title_child_preference" android:summary="@string/summary_child_preference" /> </PreferenceCategory> </PreferenceScreen>
The fragment needs only to implement onCreatePreferences(Bundle, String)
to populate
the list of preference objects:
public static class SettingsFragment extends LeanbackSettingsFragment { @Override public void onPreferenceStartInitialScreen() { startPreferenceFragment(new PrefsFragment()); } @Override public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) { final Fragment f = Fragment.instantiate(getActivity(), pref.getFragment(), pref.getExtras()); f.setTargetFragment(caller, 0); if (f instanceof PreferenceFragment || f instanceof PreferenceDialogFragment) { startPreferenceFragment(f); } else { startImmersiveFragment(f); } return true; } @Override public boolean onPreferenceStartScreen(PreferenceFragment caller, PreferenceScreen pref) { final Fragment f = new PrefsFragment(); final Bundle args = new Bundle(1); args.putString(PreferenceFragment.ARG_PREFERENCE_ROOT, pref.getKey()); f.setArguments(args); startPreferenceFragment(f); return true; } } public static class PrefsFragment extends LeanbackPreferenceFragment { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { // Load the preferences from an XML resource setPreferencesFromResource(R.xml.preferences, rootKey); } }
Summary
Inherited XML attributes | |
---|---|
From
class
android.support.v14.preference.PreferenceFragment
|
Inherited constants |
---|
From
class
android.support.v14.preference.PreferenceFragment
|
From
interface
android.content.ComponentCallbacks2
|
Public constructors | |
---|---|
LeanbackPreferenceFragment()
|
Public methods | |
---|---|
View
|
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
|
void
|
onViewCreated(View view, Bundle savedInstanceState)
|
void
|
setTitle(CharSequence title)
Set the title to be shown above the preference list |
Inherited methods | |
---|---|
From
class
android.support.v17.preference.BaseLeanbackPreferenceFragment
| |
From
class
android.support.v14.preference.PreferenceFragment
| |
From
class
android.app.Fragment
| |
From
class
java.lang.Object
| |
From
interface
android.support.v7.preference.PreferenceManager.OnPreferenceTreeClickListener
| |
From
interface
android.support.v7.preference.PreferenceManager.OnDisplayPreferenceDialogListener
| |
From
interface
android.support.v7.preference.PreferenceManager.OnNavigateToScreenListener
| |
From
interface
android.support.v7.preference.DialogPreference.TargetFragment
| |
From
interface
android.content.ComponentCallbacks2
| |
From
interface
android.view.View.OnCreateContextMenuListener
| |
From
interface
android.content.ComponentCallbacks
|
Public constructors
Public methods
onCreateView
View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
Parameters | |
---|---|
inflater |
LayoutInflater |
container |
ViewGroup |
savedInstanceState |
Bundle |
Returns | |
---|---|
View |
onViewCreated
void onViewCreated (View view, Bundle savedInstanceState)
Parameters | |
---|---|
view |
View |
savedInstanceState |
Bundle |
setTitle
void setTitle (CharSequence title)
Set the title to be shown above the preference list
Parameters | |
---|---|
title |
CharSequence : Title text to be shown
|
Interfaces
Classes
- BaseLeanbackPreferenceFragment
- LeanbackListPreferenceDialogFragment
- LeanbackListPreferenceDialogFragment.AdapterMulti
- LeanbackListPreferenceDialogFragment.AdapterSingle
- LeanbackListPreferenceDialogFragment.ViewHolder
- LeanbackPreferenceDialogFragment
- LeanbackPreferenceFragment
- LeanbackSettingsFragment
- R
- R.anim
- R.animator
- R.attr
- R.bool
- R.color
- R.dimen
- R.drawable
- R.fraction
- R.id
- R.integer
- R.layout
- R.raw
- R.string
- R.style
- R.styleable
- R.transition