`
canofy
  • 浏览: 829745 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

设置属性页面

阅读更多
设置属性页面有两种方式
1、用xml完全的配置方式
2、完全使用代码的方式

xml配置方式:
<?xml version="1.0" encoding="utf-8"?>

<!-- This is a primitive example showing the different types of preferences available. -->
<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
            android:title="@string/inline_preferences">
            
        <CheckBoxPreference
                android:key="checkbox_preference"
                android:title="@string/title_toggle_preference"
                android:summary="@string/summary_toggle_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" />

    </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>



下面是代码的方式:
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;
    }
}

分享到:
评论

相关推荐

    jsp设置页面属性

    在jsp页面中设置及获取当前页面的属性,可以用getServletInfo()方法输出给浏览器

    Swing页面属性的设置顺序

    在Java的Swing库中,页面属性的设置顺序是一个关键概念,这关乎到组件的显示效果和程序的正确运行。Swing是Java提供的一种轻量级GUI(图形用户界面)框架,它允许开发者创建丰富的桌面应用程序。理解Swing组件属性的...

    Html页面文字属性设置

    Html页面文字属性设置:Html页面文字属性包含:文字字体、文字大小、文字颜色、文字段落行间距、粗体、斜体、下划线、上划线、删除线等属性设置;这里介绍的是针对页面中某一处的文字进行设置。该设置在Internet8...

    总结网页常用设置属性

    以下是对网页CSS常用设置属性的详细解析,旨在帮助开发者更好地理解和运用这些关键属性,提升网页的设计质量和用户体验。 ### CSS选择器与应用原则 在开始讨论具体属性之前,理解CSS的选择器类型及其应用原则至关...

    JQ 设置属性 attr()

    其中,`selector`用于选择要操作的元素,`attributeName`是要设置或读取的属性名,而`value`则是新属性值,当提供该参数时,`attr()`将设置属性值;如果只提供`attributeName`,则会返回属性的当前值。 1. **设置...

    在web.xml中设置错误处理页面.docx

    在 web.xml 文件中,我们可以使用 `&lt;error-page&gt;` 元素来设置错误处理页面,该元素有两个重要的属性:`error-code` 和 `location`。`error-code` 属性用于指定异常状态码,而 `location` 属性用于指定错误处理页面的...

    Office高级应用_Word应用_论文排版2——文档属性及页面设置.pdf

    在Word的高级应用中,文档属性和页面设置是至关重要的两个方面,特别是在处理学术论文或专业文档时。文档属性提供了一种方式来记录和管理文档的相关信息,而页面设置则决定了文档的外观和打印效果。以下是对这两个...

    微信小程序在页面中使用计算属性,监听

    在这个例子中,当`items`数组发生变化时,`total`计算属性会自动更新,并通过监听器再次设置到页面数据中,确保视图与数据的一致性。 总结来说,计算属性和监听是微信小程序中处理数据变化和业务逻辑的重要工具。...

    用于设置项目属性的程序

    用户在这些页面上可以修改项目的编译器选项、链接器设置、调试器配置等。这些设置会影响项目的编译、链接和运行行为。 "Project setting"则是指项目设置或项目配置,它是一系列决定项目如何构建和运行的参数。这些...

    利用层的table-row、table-cell属性进行页面布局

    "利用层的table-row、table-cell属性进行页面布局"是一种常见的CSS布局技术,尤其在早期的Web开发中广泛使用,尽管现代CSS布局如Flexbox和Grid已变得更为流行。这种布局方法模仿了HTML表格的行(row)和单元格(cell)...

    用户控件与父页面及相互间方法调用和属性访问

    本文将详细介绍用户控件调用父页面的方法、用户控件与用户控件之间的方法调用、用户控件与用户控件之间设置属性、获得父页属性等技术,并提供了详细的代码示例。 一、用户控件调用父页面的方法 在 ASP.NET 中,...

    页面样式调试必备-style属性

    例如,`list-style`属性用于设置列表项的样式,`position`属性可以设置元素的定位方式(静态、相对、绝对或固定),而`text-align`则用于调整文本的对齐方式。 理解并掌握这些`style`属性,可以帮助开发者更有效地...

    vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题

    但有时会发现,在操作过程中无法对未定义的值、空值或基本数据类型(基元值,如字符串、数字等)设置反应属性,这会引发错误提示:“Cannot set reactive property on undefined, null, or primitive value”。...

    属性页编程实例

    属性页编程是Windows应用程序开发中的一个重要概念,尤其在MFC(Microsoft Foundation Classes)框架下,它广泛用于设置软件的各种配置选项。属性页通常由一系列的对话框组成,每个对话框代表一个特定的设置类别,...

    cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击.zip_js设置cookie值

    或者,如果你使用的是Spring框架,可以在Cookie对象上设置HttpOnly属性: ```java Cookie cookie = new Cookie("username", "JohnDoe"); cookie.setPath("/"); cookie.setHttpOnly(true); response.addCookie...

    LoadingLayout-一个可以控制页面4种加载状态的控件.zip

    一个可以控制、切换页面4种加载状态的控件。包括:加载中,空页面,出错页面和内容页面。项目地址:https://github.com/XMFE-TEAM/LoadingLayout 效果图:如何使用在当前布局的最外面或内容布局外加个...

    设置页面缓存Cache

    ### 设置页面缓存Cache #### 知识点一:页面缓存的概念与作用 页面缓存(Page Caching)是Web开发中一种重要的优化技术,主要用于提高网站性能和响应速度。通过将页面的HTML输出存储在服务器端的缓存中,当用户...

    html属性参考大全

    页面(Page) 文件结构 语言字符集信息 背景色彩和文字色彩 页面空白 链接 开新窗口 ...移动属性的设置 外观设置 多媒体页面(Alternative Inline Elements) 嵌入多媒体文本 背景音乐 视频剪辑

Global site tag (gtag.js) - Google Analytics