android自定义属性详解,android开发教程之自定义属性用法详解

2023-11-18

android开发中要对代码进行生成,然而生成后的代码也可以进行更改的,下面是爱站技术频道小编带给大家的android开发教程之自定义属性用法详解,希望能给你学习这方面知识带来帮助。

最近项目中经常需要用到自定义控件,因此自定义属性也是经常要用到的,在此说明一下自定义属性的用法:

自定义属性都存在于/value/attr.xml文件中,以如下格式存在。

......

对于自定义属性中的format的值及其含义如下:

format属性值:reference 、color、boolean、dimension、float、integer、string、fraction、enum、flag

1. reference:参考某一资源ID。

(1)属性定义:

(2)属性使用:

android:layout_width="42dip"

android:layout_height="42dip"

android:background="@drawable/图片ID"

/>

2.color:颜色值。

(1)属性定义:

(2)属性使用:

android:layout_width="42dip"

android:layout_height="42dip"

android:textColor="#00FF00"

/>

3.boolean:布尔值。

(1)属性定义:

(2)属性使用:

android:layout_width="42dip"

android:layout_height="42dip"

android:focusable="true"

/>

4.dimension:尺寸值。

(1)属性定义:

(2)属性使用:

android:layout_width="42dip"

android:layout_height="42dip"

/>

5.float:浮点值。

(1)属性定义:

(2)属性使用:

android:fromAlpha="1.0"

android:toAlpha="0.7"

/>

6.integer:整型值。

(1)属性定义:

(2)属性使用:

xmlns:android="http://schemas.android.com/apk/res/android"

android:drawable="@drawable/图片ID"

android:pivotX="50%"

android:pivotY="50%"

android:framesCount="12"

android:frameDuration="100"

/>

7.string:字符串。

(1)属性定义:

(2)属性使用:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:apiKey="0jOkQ80oD1JL9C6HAja99uGXCRiS2CGjKO_bc_g"

/>

8.fraction:百分数。

(1)属性定义:

(2)属性使用:

xmlns:android="http://schemas.android.com/apk/res/android"

android:interpolator="@anim/动画ID"

android:fromDegrees="0"

android:toDegrees="360"

android:pivotX="200%"

android:pivotY="300%"

android:duration="5000"

android:repeatMode="restart"

android:repeatCount="infinite"

/>

9.enum:枚举值。

(1)属性定义:

(2)属性使用:

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

10.flag:位或运算。

(1)属性定义:

(2)属性使用:

android:name=".StyleAndThemeActivity"

android:label="@string/app_name"

android:windowSoftInputMode="stateUnspecified|stateUnchanged | stateHidden">

特别要注意:

属性定义时可以指定多种类型值。

(1)属性定义:

(2)属性使用:

android:layout_width="42dip"

android:layout_height="42dip"

android:background="@drawable/图片ID|#00FF00"

/>

下面说说AttributeSet与TypedArray在自定义控件中的作用:

AttributeSet的作用就是在控件进行初始化的时候,解析布局文件中该控件的属性(keyeg:background)与该值(valueeg:@drawable/icon)的信息封装在AttributeSet中,传递给该控件(View)的构造函数。对于非Android自带的属性,在View类中处理时是无法识别的,因此需要我们自己解析。所以这就要用到另外一个类TypedArray。在AttributeSet中我们有属性名称,有属性值,但是控件如何知道哪个属性代表什么意思呢?这个工作就由TypedArray来做了。TypedArray对象封装了/values/attrs.xml中的styleable里定义的每个属性的类型信息,通过TypedArray我们就可以知道AttributeSet中封装的值到底是干什么的了,从而可以对这些数据进行应用。

AttributeSet就相当于一盒糖,TypedArray就相当于这盒糖上的标签说明,告诉用户每个糖的口味等。这盒糖有什么口味是由用户自己的styleable文件里面的内容来决定的。

看完了爱站技术频道介绍的android开发教程之自定义属性用法详解,大家是否清楚了呢?其实我们在项目开发前,都要要做好充足的准备才行哦!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android自定义属性详解,android开发教程之自定义属性用法详解 的相关文章

  • 双指针模板

    核心思路 首先打一个 O n 2 O n 2 O n2 的暴力 然后考虑性质 当i j具有单调性的时候 那么我们才可以用双指针来优化 基础例题 最长连续不重复子
  • HTTPS加密流程

    HTTPS HTTPS 一 什么是HTTPS 二 什么是 加密 三 加密的方式有哪些 1 对称加密 2 非对称加密 3 中间人攻击 4 引入证书 HTTPS 一 什么是HTTPS HTTPS与HTTP一样都是应用层协议 与HTTPS不同的是
  • Javassist

    1 简介 Javassist JAVA programming ASSISTant 是在Java中编辑字节码的类库 它使Java程序能够在运行时定义一个新类 并在JVM加载是修改类文件 我们常用到的动态特性主要是反射 在运行时查找对象属性
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 谷贱伤农,薪贱伤码农!

    最近被东方甄选刷屏了 截止6月21日 粉丝已经达到1749万 飞瓜数据显示 东方甄选已经是抖音带货第一名 东方甄选火起来也就是从上周那个双语带货视频在各个社群里到处转发 走到今天 也不过才一周多点的时间 从初火到大火 东方甄选 一周封神 一
  • STM32内部ADC测量时产生噪声的原因与消除的方法

    首先让我们来看一张实际项目过程中 测试发现的问题 每隔1ms 就会起来一个信号 这个信号大概是250ns 我所使用的芯片是 STM32F103RCT6 使用内部ADC测量电压 采用定时器触发采样 每隔1ms触发采样一次 经过分析初步分析 是
  • Web前端学习(二)HTML和CSS的关系

    此节 应该上手写第一个Web网页Hello World 这在之前学习HTML基础的时候已经写过了 这里不多说 本节 主要看一下HTML和CSS之间是怎么协同工作的 话不多说直接上代码 例 为Hello World添加样式
  • Eigen几何模块的使用方法

    include
  • Win11 配置 WSL2(Windows的Linux子系统)100%成功 全网最简

    打开控制面板 程序 启用或关闭 Windows 功能 勾选 Windows 虚拟机监控程序平台 适用于 Linux 的 Windows 子系统 虚拟机平台三个选项 检查是否开启BIOS虚拟化功能 任务管理器 性能 CPU 虚拟化 禁用 已启
  • Blender-骨骼蒙皮权重基本设置,批量修改权重清零,权重的镜像对称

    问题1 权重批量删除 批量清零 解决方法 1 选择物体 进入权重绘制 2 点绘制遮罩的小方块模式 3 选择 全选或者按鼠标 L局部元素选择 4 权重设置参数为0 并点权重 设置权重 OK 全都清零了 案例 和其他角色动画的眼珠自转不同 门保
  • python中object转为float_object怎么转换成float数据

    这次给大家带来object怎么转换成float数据 object转换成float数据的注意事项有哪些 下面就是实战案例 一起来看一下 数据类型转换 今天遇到一个问题 就是DataFrame类型的数据里是str型的数字 想把数字转换为int
  • 【8558】编写算法建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知存储空间)

    关注公众号程序猿从入门到入土查询更方便哦 编写算法建立的链表 实现将其分解成两个链表 其中一个全部为奇数 另一个全部为偶数 尽量利用已知存储空间 include
  • MPEG P帧编码详解

    1 当前帧与预测的当前帧相减 得到预测误差 2 预测误差进行DCT ZZ 量化 3 使用可变长编码编码预测误差并送出 3 与此同时 量化后的误差经过反量化 反zigzag 反DCT 重建误差 4 当前帧的预测误差和预测的当前帧相加 重建当前
  • Java使用多线程导入数据到Oracle中

    Oracle中的设置 多线程导入数据到Oracle中 如果是自己设置主键的值 那么肯定会遇到主键冲突的问题 例如线程A计算出的id为10 max id 1 在A线程还没有完成导入时线程B用相同办法得到的id也是10 这时两个线程都请求插入数
  • 父容器display:flex后,子元素的内部元素height:100%无效解决方法

    父容器display flex后 子元素的内部元素height 100 无效解决方法 解救办法 父类容器position relative 子元素 position absolute width 100 height 100 效果图 代码如
  • 直接进入Win10的Linux子系统文件夹

    在文件夹的路径输入 wsl 可以看到
  • Mybatis-Plus根据时间段去查询数据

    业务需求 在前端界面选择开始时间 结束时间 后台根据拿到的开始 结束时间去数据库中查询该段时间的数据集返回给前端界面 1 前端我使用的是elementUI和vue框架 最好是在前端界面进行一个简单的校验规则 对比一下开始时间和结束时间的大小
  • MongoDB 4系列(1)概述与安装和资源介绍

    文章目录 MongoDB 4 系列 1 概述与安装 前言 概述 主要特点 mongoDB的云库 MongoDB资源 Studio 3T Robo 3T morphia MongoDB Java Drivers Windows安装mongoD
  • 基于EasyX的2048创作

    基于EasyX的2048创作 code include

随机推荐

  • [Java反序列化]C3P0反序列化

    Java反序列化 C3P0反序列化 环境
  • Firefox 或将强制启用 HTTPS 链接

    Mozilla 在最新上线的 Firefox 76 Nightly 版本中引入可选的 HTTPS only 模式 该模式仅允许连接到 HTTPS 站点 如果一切进行顺利的话 Firefox 接下来可能会在稳定版中面向所有用户推出该项功能 H
  • [Python系列-19]:爬虫 - urllib.request.urlopen()和urllib.request.get()的使用区别

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119799336 目录 第1章
  • Weex 介绍

    文章目录 一丶Weex的介绍 二丶前置知识 三丶适用人群 四丶Weex的优势 五丶难点 六丶Weex ReactNative Flutter的区别 七丶设计理念 八丶基本原理 九丶有谁在用 十丶Weex调试工具 十一丶构建一个最简单的应用
  • 提取字符串中的数字C/C++(指针)

    任务描述 本关任务 在一串隐藏着一个或多个数值的字符中 选出字符串中的所有数字字符 并将选出的数字字符重新组成新字符串 如果在第一个数字字符之前有负号 则保留该负号 有多个负号时只保留一个 例如 输入的字符串为 a 1 2 4sd5 s6
  • zeek流量分析工具安装与使用

    本文档记录流量分析工具 zeek 的安装过程以及如何使用它来分析 pcap 流量文件 环境说明 环境 ubuntu22 Anaconda conda 22 9 0 python 3 9 在具备以上环境后 开始在unbuntu系统下安装流量分
  • element-plus按需引入后ElMessage与ElLoading在页面中如何使用

    一 按照官网按需引用element plus pnpm install element plus pnpm add D unplugin vue components unplugin auto import vite config ts
  • 如何恢复华为手机中丢失的通讯录(使用时光机)

    1 登录 https cloud huawei com 2 如果忘记密码 可使用手机登录 1 手机中 华为帐号 2 扫描网页二维码 3 进入系统 3 点击 设置 4 点击 联系人时光机 5 选择需要还原的记录按 还原 6 打开通讯禄将还原的
  • RocketMQ概论

    目录 前言 1 概述 2 下载安装 集群搭建 3 消息模型 4 如何保证吞吐量 4 1 消息存储 4 1 1顺序读写 4 1 2 异步刷盘 4 1 3 零拷贝 4 2 网络传输 前言 RocketMQ的代码示例在安装目录下有全套详细demo
  • Linux常用命令-压缩解压命令

    一 gz gzip 文件 压缩文件 只能压缩文件 gunzip 压缩文件 解压文件 二 tar 打包目录 tar gz tar命令压缩语法 tar 选项 zcf 压缩后文件名 目录 c 打包 v 显示详细信息 f 指定文件名 z 打包同时压
  • 49天精通Java,第10天,Java继承和多态

    目录 一 继承 二 多层次继承 三 多态 1 多态的优点 2 多态存在的三个必要条件
  • Visual Studio 2015 debug 显示 utf-8 汉字

    这两天调试程序 内容是utf8编码的 visual studio 默认显示ansi的 所以中文全乱码了 上网上只找到vs2013及之前版本的解决办法 于是 自己对比vs2013的解决办法 让vs2015也显示了utf 8字符 具体在 C P
  • 12333新农合网上查询_社保卡余额如何查询?这五个方法轻松查询

    阅读本文前 请您先点击上面的 蓝色字体 再点击 关注 这样您就可以继续免费收到文章了 每天都有分享 完全是免费订阅 请放心关注 注 本文转载自网络 不代表本平台立场 仅供读者参考 著作权属归原创者所有 现在大多数人都有社保卡 就算是农民朋友
  • UPLOAD labs 第四关

    第四关考点是 htaccess 作为一个铁废物 来百度一下 大意就是htaccess是apache服务中的一个配置文件 负责相关目录下的网页配置 它负责相关目录下的网页配置 通过htaccess文件 可以帮我们实现 网页301重定向 自定义
  • Ubuntu 17.04系统创建Android Studio桌面快捷方式的方法

    下面以 Android Studio 为例 阐述Ubuntu系统中创建桌面快捷方式的方法 假设已将 Android Studio 下载到 home
  • 在 Win11安装 Ubuntu20.04子系统 WSL2 到其他盘(此处为D盘,因为C盘空间实在不能放应用)

    该篇文章记录了在 win11 中安装 Ubuntu20 04 子系统 先安装到 C盘 再通过打包的方式 安装到 D盘 上 因为是安装后写的文章 可能会有所疏漏 所以有任何问题可以在评论区留言 0 设置 windows 功能 打开这三个 配置
  • everything 和quicklook联动

    everything 和quicklook联动 老凶残的解决方案了 https www logcg com archives 1584 html
  • 数据库原理之关系数据库关系运算

    关系数据库关系运算 选择 投影 链接 除运算 选择运算 选择运算是从关系R中选取使逻辑表达式F为 真的元组 是从行的角度进行的运算 投影运算 投影操作主要是从列的角度进行运算 但投影之后不仅取消可原关系中的某些列 而且还可能取消某些元组 避
  • Qt自定义代理与实例

    代理的定义 代理 Delegate 就是在视图组件上为编辑数据提供编辑器 如在表格组件中编辑一个单元格的数据时 缺省是使用一个QLineEdit编辑框 代理负责从数据模型获取相应的数据 然后显示在编辑器里 修改数据后 又将其保存到数据模型中
  • android自定义属性详解,android开发教程之自定义属性用法详解

    android开发中要对代码进行生成 然而生成后的代码也可以进行更改的 下面是爱站技术频道小编带给大家的android开发教程之自定义属性用法详解 希望能给你学习这方面知识带来帮助 最近项目中经常需要用到自定义控件 因此自定义属性也是经常要