android 自定义preference的属性

android app Preference设置自定义背景和去掉分割线以及设置分割线高度 在Perference系统控件中,发现没有提供设置背景的方法,所以就无法通过属性或者系统api 为perference 添加背景 所以就需要自定义Perference来实现这个功能android:key key:唯一标识,SharedPreferences也将通过此Key值进行数据保存,也可以通过key值获取保存的信息 。android:defaultValue 默认值。 在CheckPreference的默认值可为”true”,默认为选中状态。 android:enabled : 表示该Preferenc 阅读详情

最近碰到了个问题,我想调整checkboxpreference中的图片的大小以及位置,学习了下发出来:

1. 拷贝并重命名framework/base/core/res/res/layout/preference.xml到你的工程目录res/layout/,如mypreference.xml

2. 修改mypreference中你想修改对应的属性,不赘述,大家都会。

3. 如果是用静态加载preference的,在preference的xml里加入属性  android:layout="@layout/mypreference"

    如果是代码中动态加载的,new了preference的对象后,setLayoutResource(R.layout.mypreference)即可。



顺带说下动态和静态加载preference。

1. 静态加载很简单,在preferenceActivity中addPreferencesFromResource(r.xml.xxxx);即可

   然后各种findpreference(key)即可。

2. 动态加载 : 需要首先创建一个preferenceScreen对象,然后通过这个对象来addpreference。

步骤如下:

            PreferenceScreen prefscreen;

             prefscreen = this.getPreferenceManager().createPreferenceScreen(
getApplicationContext());

this.setPreferenceScreen(prefscreen);

       想要添加某个preference到这个screen的时候,(以checkbox为例)只需要new CheckBoxPreference();

        设置title,设置summary,然后prefscreen.addPreference(checkboxpreference);

可以参考蓝牙设置的扫描结果的写法,比较经典。


最后再说下注意点:

PreferenceActivity中增加PreferenceScreen的时候都是增加到了此Activity的ListView中,也就是说,在Activity的layout中必须有如下成员:

特别注意Id,不能变

 <ListView 
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ></ListView>

其余属性都可以任意调整布局。


Android布局——Preference自定义layout的方法 PreferenceActivity是一个方便设置管理的界面,但是对于界面显示来说比较单调,所以自定义布局就很有必要了,下面与大家分享下Preference中自定义layout的方法 立即下载

相关推荐

GPU算力租用平台推荐

阿里云作为中国领先的云计算服务提供商,提供了丰富的GPU云服务器实例,包括NVIDIA Tesla V100、A100等多种高性能GPU型号。阿里云GPU云服务器适用于深度学习、科学计算、图形渲染等多种场景,能够满足不同用户的计算需求。

hong161688的博客 8173

实例探索Preference XML文件中的各项属性

Preference的API中定义了如下属性,我们通过实例一一分解它们的含义和用处。本例借助一个CheckBoxPreference分析,而且只分析Preference里的各项属性,对于子类的属性我们这里不作介绍。 MainActivity.java: package com.sean.preferenceattributestest; import android.app.Ac

sean_xiang的专栏 3025

Jasper Report使用JSON数据源创建报表

最近在做一个项目小功能,表单结案要生成PDF报表。 起初,想用HTML模板(art-template模板引擎)编写,利用浏览器的打印功能保存成pdf文件下载。但是HTML编写好的模板,页码、页眉、页脚设置有坑,表单内容中的表格较多,表格不能设置跨页,导致跨页的表格内容与页眉重叠,没能解决这个问题。 于是,转战研究Jasper report生成报表,用更加专业的报表生成工具来做。刚开始,也是跌跌撞撞,遇到了很多问题,因为觉得没有退路了,必须要用这个搞出来,所以就硬着头皮去找各种资料。 主要使用的json

xiaogege2012的专栏 3319

Preference类中xml里属性的用法和介绍记录

在下面的一段设置参数中,   &lt;PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.phone"&gt; &lt;com.and...

记录工作点滴 223

02-基于ART-PI开发板创建USB CDC 虚拟串口设备

本例在ART-PI开发板上,基于RT-Thread 5.0,5虚拟了一个USB32 CDC串口设备。

arm_fan的专栏 1886

OpencvSharp学习笔记(一):图片的打开,保存灰度化,保存

近来萌生了学习OpenCv的想法,经过度娘得知老夫会的C#不能直接用OpenCv,只能用他的儿子OpenCvSharp与EmguCV,奈何奈何,这两玩意的资料少的出奇,只能慢慢的摸索了,EmguCV先不说,老夫找到了牛批的资料,先摸索OpencvSharp吧 首先打开VS通过Nuget安装 选择版本后点击安装就OK了. 安装完成后,引用里面就有以下的玩意儿了… 废话不多说了,在写程序前先 using OpenCvSharp 图片打开,灰度化,保存代码如下: static void Main(strin

猥琐de专注 7186

Android(12)自定义 Preference(二)

Android(12)自定义 Preference(二) 简单的效果效果演示: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apgIG18e-1643643122163)(C:\Users\Yansw1\Desktop\效果演示1.gif)] 使用到的控件(原生): CoordinatorLayout CollapsingToolbarLayout AppBarLayout Toolbar NestedScrollView FragmentContainerView 准备

C_biubiubiu的博客 3503

[Dify实战] Bug 自动归因与复现指南生成器-带绑定资源

摘要: 本文介绍如何利用Dify构建"Bug自动归因与复现指南生成器",解决研发测试中的常见痛点。该系统可自动解析Bug信息,结构化输出复现步骤、可能原因、修复建议和回归测试点,显著提升问题处理效率。文章详细阐述了方案流程、Prompt设计要点、输出模板及落地清单,并提供了RCA分析模板和标准复现步骤示例。通过统一Bug描述模板和自动化分析,该系统能有效降低人力成本,加速问题闭环,适用于持续迭代的中大型项目。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 294

Android 自定义Preference 讲解

Andorid 自定义Preference 详细讲解

u012514113的专栏 4187

EtherCAT报文-BRD(广播读)抓包分析

EtherCAT报文之BRD(广播读)报文Wireshark抓包分析。

kevin1499的博客 1212

英飞凌Tricore问题排查01_Det/Reset/Trap排查宝典

软件跑飞进Det或发生Reset或进Trap了,怎么查?有固定套路可以follow吗?英飞凌Tricore又有哪些专门的定位办法?本篇为您娓娓道来。

initiallizer的博客 4416

android preference

android preference        向用户提供一些参数设置的接口,可以使用preferences相关的一些类,就可以很方便的呈现参数设置界面及对参数的设置进行处理。        参数的配置可以通过xml文件配置也可以在代码种编码配置。本文先介绍参数配置的元素,然后介绍在xml文件种配置参数的方法,最后介绍代码种的配置方法及在代码中如何使用这些配置参数。   一、参数界

Y敲键盘的地方 1455

Codex 赋能UI自动化测试

✅ 零编码门槛:业务人员也能直接上手✅ 无需复杂配置:跳过部署陷阱,分钟级启用✅ 无权限风险:沙箱隔离 + 操作审计,安全可控✅ 精准匹配 UI 自动化需求:生成代码与执行操作一体化本文我使用CRM系统分类管理功能进行测试演示,手把手教你从测试用例编写,到上传Codex、自动执行浏览器操作,每一步都有细节,看完直接复刻到工作中。

十二测试录 458

Settings开发

Preference是一个用于创建设置界面的框架,它提供了一套简单而强大的机制来存储和管理应用的配置信息。Preference库包中包含了很多种基础Preference类型。如等。同时又定义了许多用于Settings中的自定义类型,如等等。它的默认布局类型为LinearLayout,大多数情况下,可以将它理解为一个较为复杂的Button。它的显示一般借助于PreferenceFragment或者PreferenceFragmentCompat。

veilzzz的博客 2348

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

自定义Preference风格 | 扩展已有视图 | 自定义属性 | add icons to Preference | customize

自定义Preference风格 | 扩展已有视图 |  自定义属性 | add icons to Preference | customize

stefzeus的专栏 6899

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

如何隐藏Preference

之前 隐藏菜单中的某一组preference选项,只是先在布局里面删,然后有可能在java里面删掉调用的部分,但很多东西到处都有调用,所以删除就很麻烦,上网发现可用   ((PreferenceGroup) findPreference("category_foo")).removePreference(p);    实例: XML:   xmlns:android="http:

9620

android 自定义Preference

今天想写一个自定义Preference,可是从网上搜了好长时间,用到的几乎都是同一个案例,改变游戏图片的,最要命的是他的那个不完整,里面有一些类就没有提供,让我很失望,后来自己又找到一篇 android 自定义SeekBarPreference 实现 自己在这个基础上加工了一

303

android:修改preference中view属性

android开发包preference提供了我们一些方面的设置工具,PreferenceActivity,Preference,PreferenceScreen,CheckBoxPreference等,利用他们可以方便的建立应用程序的属性设置。如图:      有些时候,我们并不需要系统给我们的这么单调的ui,我们通常会修改一些属性,比如view的背景,字体的属性等,那么这个时候有两

Dev_Hanyu的专栏 2456

android 自定义switchpreference,Android设置选项开发及自定义Preference样式

一个完整的Android应用程序都应该提供选项(或者叫偏好设置等等)让用户对APP的表现形式能够进行设置,比如说是否加入用户体验计划,或者是否自动升级、定时提醒、开启自启动、后台运行等等。提供一个好的设置项,会大大提升APP的用户体验。为了完成这样的功能,你不必从头开始写Activity或者Fragment,因为Android已经提供了实现这个功能的API,并且会自动将用户设置以键值对的形式存入S...

weixin_29521249的博客 1597

Preference中比较重要的监听点击事件方法

安卓程序开发中常用Preference布局结构来做程序的设置项。Android系统会将Preference元素的值存储在sharedPreference文件中,方便了数据的管理。该文件存放路径位DDMS视图下data/data/[packgename]/shared_prefs/文件下,命名约定为:packagename_preferencse.xml。Preference的优点在于布局界面的可控

夏日晴雨天的专栏 760

Android Preference 卡片圆角风格定制

效果图 实现步骤 在网上查找这块的资料,发现并未找到相关的,大多都是通过修改 Preference style 来设置背景色什么的,和我们预想的 效果不太一样,那就去看看 Preference 源码吧,说不定能有什么收获。 先看下 Preference 类继承关系结构图,在AS中通过快捷键 ctrl + h 即可调出视图 基本上我们常用的简单显示控件都继承自 Preference,系统设置界面也不例外,全都是用的 Preference 通过分析 Preference 源码发现了默认布局文件为 pref

cczhengv 2211

Android中的Preference

既然要先说说Preference组件家族基础,那不得不先简单说说这些Preference组件间的关系,相比以前低版本的API来说,谷歌官方又增加了一些实用的Preference组件,不过遗憾的是这里面有些是被hide掉的,有些是在com.android.internal.preference包下的,所以这些hide和com.android.internal.preference包的preference我们应用层是不能直接使用的。扯蛋了这么多,唉,叹个气继续吧,接下来就到了有意思的环节,源码结构简介。

HYYMCD的博客 2893

Android 完美解决自定义preference与ActivityGroup UI更新的问题

之前发过一篇有关于自定义preference 在ActivityGroup 的包容下出现UI不能更新的问题,当时还以为是Android 的一个BUG 现在想想真可笑 。其实是自己对机制的理解不够深刻,看来以后要多看看源码才行。 本篇讲述内容大致为如何自定义preference 开始到与ActivityGroup 互用下UI更新的解决方法。 首先从扩展pr...

weixin_34297300的博客 140

android自定义设置菜单具有开关功能

首先,像这样的两种preference,一种是具有开关功能,一种是没有具有开关功能,第一是自定义下面的没具有开关功能的preference 首先是在布局文件里面定义好一个layout ,下面这个就不用说了 setting_view.xml     android:layout_width="match_parent"     android:layout_height="44dp"

莫非 1261
上一篇: android学习笔记7 android简略开机流程(从u-boot 到Idle)
下一篇: android TP虚拟按键
有梦想的胖子
博客等级 码龄16年 51粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值