`

[AndroidTips]修改preference中view属性

 
阅读更多

http://www.cnblogs.com/slider/archive/2011/11/10/2245017.html

 

android开发包preference提供了我们一些方面的设置工具,PreferenceActivity,Preference,PreferenceScreen,CheckBoxPreference等,利用他们可以方便的建立应用程序的属性设置。如图:

有些时候,我们并不需要系统给我们的这么单调的ui,我们通常会修改一些属性,比如view的背景,字体的属性等,那么这个时候有两种选择:

  1.针对单个应用程序,定义一个cutom的layout,当然这个layout跟系统的layout元素要一致(否则你怎么改呢?),然后在preference.xml(文件名你自己随便取)android:layout添加你定一个 的layout就可以了。

  2.针对整个android系统,修改preference相关的属性,那么所有的用到PreferenceActivity的界面都会相应的 改变。这里只需要修改相应的系统layout文件(在framework/base/core/res/res/layout),比如 preference_category.xml等。

  1.先说说地一种吧,比较常用到的。

  首先,定义你的layout文件,这个layoutn你直接到framework拷下来,这里标记为custom_preference.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent" android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical" android:paddingRight="?android:attr/scrollbarSize">
 
     <RelativeLayout android:layout_width="wrap_content"
         android:layout_height="wrap_content" android:layout_marginLeft="15dip"
         android:layout_marginRight="6dip" android:layout_marginTop="6dip"
         android:layout_marginBottom="6dip" android:layout_weight="1">
 
         <TextView android:id="@+android:id/title"
             android:layout_width="wrap_content" android:layout_height="wrap_content"
             android:singleLine="true" android:textAppearance="?android:attr/textAppearanceLarge"
             android:ellipsize="marquee" android:fadingEdge="horizontal"
             android:textColor="#475ad7"/>
 
         <TextView android:id="@+android:id/summary"
             android:layout_width="wrap_content" android:layout_height="wrap_content"
             android:layout_below="@android:id/title" android:layout_alignLeft="@android:id/title"
             android:textAppearance="?android:attr/textAppearanceSmall"
             android:textColor="#5ad747"/>
 
     </RelativeLayout>
 
     <!-- Preference should place its actual preference widget here. -->
     <LinearLayout android:id="@+android:id/widget_frame"
         android:layout_width="wrap_content" android:layout_height="match_parent"
         android:gravity="center_vertical" android:orientation="vertical"/>
 
 </LinearLayout>

 然后,你在些preference.xml文件的时候,应用到这个layout文件。

<?xml version="1.0" encoding="utf-8"?>
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
     <CheckBoxPreference    android:key="checkbox_key"
         android:title="checkbox_title"
         android:summary="checkbox_summery"
         android:defaultValue="true"
         android:layout="@layout/custom_preference_layout"></CheckBoxPreference>
 </PreferenceScreen>

 

ok,到这里,你就像平时一样使用这个preference.xml文件就好了,你会发现字体的颜色成功改变了

2.第二种情况,需要搭建android系统的编译环境,这个环境怎么搭建这里就不说了。


直接到系统layout文件(在framework/base/core/res/res/layout),修改 preference.xml,这里只是针对上面那个例子,你当然也可以修改其他的preference相应的文件。preference.xml文件的 内容就是第一种情况的custom_preference.xml文件的内容,这里就不重复了。

修改后重新mka下系统,重启模拟器,ok,就可以看到第一种方法一样的效果了。

  • 大小: 28.6 KB
  • 大小: 10.7 KB
分享到:
评论

相关推荐

    android Preference自定义样式

    5. **动态修改**:在代码中,可以通过查找Preference对应的View并修改其属性来实现动态样式调整。例如: ```java SwitchPreference preference = (SwitchPreference) findPreference("switch_preference"); ...

    Android中Preference的使用以及监听事件分析

    在Android开发中,Preference是构建用户界面的一种重要方式,它主要用于创建设置界面,提供开关、选择列表、输入框等常用控件。Preference类是Android框架的一部分,它简化了UI元素的创建和管理,使得开发者可以方便...

    Android 自定义preference组件

    上篇博文代码实现了Android自带的preference组件,本文将通过实例讲解自定义preference组件。 主要通过以下几步来实现: 1.定义需要的layout布局res-&gt;layout-&gt;xml文件; 2.通过继承Preference类,来实现自定义...

    安卓Android源码——Preference_Demo.rar

    Preference_Demo是一个基于Android平台的源码示例,主要展示了如何在Android应用中使用Preference组件。Preference类是Android SDK提供的一种用于创建用户设置界面的工具,它允许开发者以一种声明式的方式定义设置项...

    Android中preference的使用实例代码

    在Android开发中,Preference是用来构建用户设置界面的关键组件。它允许开发者轻松地创建具有开关、选择器、输入框等交互元素的配置界面。本篇文章将深入探讨如何在Android项目中使用Preference,通过实例代码来展示...

    Android应用Preference

    Preference,比如系统设置、短信都可以使用,简单而又好使用,而且Google原生Android代码中大量的使用了Preference组件。简单说, Preference组件其实就是Android常见UI组件与SharePreferences的组合封装实现。

    Android Preference Framework源码

    Android的Preference Framework是Android系统中用于构建设置界面的一个强大工具,它允许开发者通过XML定义各种偏好设置元素,如开关按钮、选择列表等,然后在应用中轻松地将这些设置集成到用户界面。这个框架大大...

    Android应用源码之Preference_Demo-IT计算机-毕业设计.zip

    在Android应用开发中,Preference是实现用户界面(UI)中设置和首选项管理的重要组件。本项目"Android应用源码之Preference_Demo"是一个毕业设计示例,它深入展示了如何在Android应用程序中创建和管理用户偏好设置。...

    Android学习笔记 Preference的使用

    在Android开发中,Preference是用于实现用户设置界面的关键组件,它允许用户进行简单的交互,如开关按钮、选择列表等。Preference框架提供了丰富的UI元素,并且能够轻松地将用户配置保存到共享偏好设置...

    Android Preference解读

    在Android开发中,Preference是用于构建用户界面的一种重要组件,特别是在设置界面的实现上。它提供了许多预定义的UI元素,如开关按钮、选择列表、输入框等,使得开发者能够快速构建具有交互性的配置界面。本篇文章...

    Android Preference组件使用

    Preference主要实现一些配置数据,一些我们上次...Preference组件有ListPreference,EditTextPreference,CheckBoxPreference和SwitchPreference,相对于View中的ListView,EditText,CheckBox,Switch和RingtonePreference .

    Android布局——Preference自定义layout的方法

    导语:PreferenceActivity是一个方便设置管理的界面,但是对于界面显示来说比较...使用Preference的android:@layout属性 1)xml文件中preference的添加 代码如下: &lt;Preference android:layout=”@layout/youmi_ad”

    Pro Android学习:Preference(首选项)小例子

    在Android应用开发中,Preference是用户界面中一种重要的组件,用于提供设置界面,让用户能够配置应用的各种参数。Preference通常用于创建具有开关、选择框、输入框等交互元素的设置页面,使得用户可以方便地更改...

    Android应用源码之Preference_Demo.zip项目安卓应用源码下载

    Android应用源码之Preference_Demo.zip项目安卓应用源码下载Android应用源码之Preference_Demo.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考

    Android程序 preference应用

    在Android开发中,Preference是系统提供的一种用户界面组件,用于创建设置界面,让用户可以方便地进行各种偏好设置。本篇文章将深入探讨`Android程序 preference应用`,并结合一个注册案例来详细阐述如何在应用程序...

    android-support-v7-preference.jar

    android-support-v7-preference.jar

    Android中删除Preference详解

    在Android开发中,Preference是用来构建应用设置界面的关键组件。它允许开发者轻松地创建用户可交互的选项,如开关、选择列表等。然而,在处理Preference的删除时,开发者可能会遇到一些问题,导致删除操作失败。...

    android Preference的Demo

    在Android开发中,Preference是用于构建用户界面的一种关键组件,特别是在创建设置屏幕时。`android Preference` 是一个框架,允许开发者轻松地创建可交互的设置项,如开关、选择框、输入框等,并能将用户的设定保存...

Global site tag (gtag.js) - Google Analytics