Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package com.example.android.apis.app;
- import android.content.Intent;
- import android.content.res.TypedArray;
- import android.net.Uri;
- import android.os.Bundle;
- import android.preference.CheckBoxPreference;
- import android.preference.EditTextPreference;
- import android.preference.ListPreference;
- import android.preference.PreferenceActivity;
- import android.preference.PreferenceCategory;
- import android.preference.PreferenceScreen;
- import com.example.android.apis.R;
- public class PreferencesFromCode extends PreferenceActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setPreferenceScreen(createPreferenceHierarchy());
- }
- private PreferenceScreen createPreferenceHierarchy() {
- // Root
- PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
- // Inline preferences
- PreferenceCategory inlinePrefCat = new PreferenceCategory(this);
- inlinePrefCat.setTitle(R.string.inline_preferences);
- root.addPreference(inlinePrefCat);
- // Toggle preference
- CheckBoxPreference togglePref = new CheckBoxPreference(this);
- togglePref.setKey("toggle_preference");
- togglePref.setTitle(R.string.title_toggle_preference);
- togglePref.setSummary(R.string.summary_toggle_preference);
- inlinePrefCat.addPreference(togglePref);
- // Dialog based preferences
- PreferenceCategory dialogBasedPrefCat = new PreferenceCategory(this);
- dialogBasedPrefCat.setTitle(R.string.dialog_based_preferences);
- root.addPreference(dialogBasedPrefCat);
- // Edit text preference
- EditTextPreference editTextPref = new EditTextPreference(this);
- editTextPref.setDialogTitle(R.string.dialog_title_edittext_preference);
- editTextPref.setKey("edittext_preference");
- editTextPref.setTitle(R.string.title_edittext_preference);
- editTextPref.setSummary(R.string.summary_edittext_preference);
- dialogBasedPrefCat.addPreference(editTextPref);
- // List preference
- ListPreference listPref = new ListPreference(this);
- listPref.setEntries(R.array.entries_list_preference);
- listPref.setEntryValues(R.array.entryvalues_list_preference);
- listPref.setDialogTitle(R.string.dialog_title_list_preference);
- listPref.setKey("list_preference");
- listPref.setTitle(R.string.title_list_preference);
- listPref.setSummary(R.string.summary_list_preference);
- dialogBasedPrefCat.addPreference(listPref);
- // Launch preferences
- PreferenceCategory launchPrefCat = new PreferenceCategory(this);
- launchPrefCat.setTitle(R.string.launch_preferences);
- root.addPreference(launchPrefCat);
- /*
- * The Preferences screenPref serves as a screen break (similar to page
- * break in word processing). Like for other preference types, we assign
- * a key here so that it is able to save and restore its instance state.
- */
- // Screen preference
- PreferenceScreen screenPref = getPreferenceManager().createPreferenceScreen(this);
- screenPref.setKey("screen_preference");
- screenPref.setTitle(R.string.title_screen_preference);
- screenPref.setSummary(R.string.summary_screen_preference);
- launchPrefCat.addPreference(screenPref);
- /*
- * You can add more preferences to screenPref that will be shown on the
- * next screen.
- */
- // Example of next screen toggle preference
- CheckBoxPreference nextScreenCheckBoxPref = new CheckBoxPreference(this);
- nextScreenCheckBoxPref.setKey("next_screen_toggle_preference");
- nextScreenCheckBoxPref.setTitle(R.string.title_next_screen_toggle_preference);
- nextScreenCheckBoxPref.setSummary(R.string.summary_next_screen_toggle_preference);
- screenPref.addPreference(nextScreenCheckBoxPref);
- // Intent preference
- PreferenceScreen intentPref = getPreferenceManager().createPreferenceScreen(this);
- intentPref.setIntent(new Intent().setAction(Intent.ACTION_VIEW)
- .setData(Uri.parse("http://www.android.com")));
- intentPref.setTitle(R.string.title_intent_preference);
- intentPref.setSummary(R.string.summary_intent_preference);
- launchPrefCat.addPreference(intentPref);
- // Preference attributes
- PreferenceCategory prefAttrsCat = new PreferenceCategory(this);
- prefAttrsCat.setTitle(R.string.preference_attributes);
- root.addPreference(prefAttrsCat);
- // Visual parent toggle preference
- CheckBoxPreference parentCheckBoxPref = new CheckBoxPreference(this);
- parentCheckBoxPref.setTitle(R.string.title_parent_preference);
- parentCheckBoxPref.setSummary(R.string.summary_parent_preference);
- prefAttrsCat.addPreference(parentCheckBoxPref);
- // Visual child toggle preference
- // See res/values/attrs.xml for the <declare-styleable> that defines
- // TogglePrefAttrs.
- TypedArray a = obtainStyledAttributes(R.styleable.TogglePrefAttrs);
- CheckBoxPreference childCheckBoxPref = new CheckBoxPreference(this);
- childCheckBoxPref.setTitle(R.string.title_child_preference);
- childCheckBoxPref.setSummary(R.string.summary_child_preference);
- childCheckBoxPref.setLayoutResource(
- a.getResourceId(R.styleable.TogglePrefAttrs_android_preferenceLayoutChild,
- 0));
- prefAttrsCat.addPreference(childCheckBoxPref);
- a.recycle();
- return root;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement