文档章节

关于自定义View中的自定义属性

Reone小卒
 Reone小卒
发布于 2016/07/22 15:29
字数 273
阅读 30
收藏 0

自定义属性:

1、首先在res/values/  下建立一个attrs.xml(有的话就不需要再建了) , 在里面定义我们的属性和声明我们的整个样式。

<resources>
    <declare-styleable name="FiexedLayout">
        <attr name="demoHeight" format="integer" />
        <attr name="demoWidth" format="integer" />
        <attr name="standard" format="string" />
    </declare-styleable>
</resources>

ormat是值该属性的取值类型:

一共有:string,color,demension,integer,enum,reference,float,boolean,fraction,flag;

这里可以看下http://blog.csdn.net/wxg630815/article/details/6989316

 

2、在View的构造方法中,获得我们的自定义的样式

TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.FiexedLayout, defStyle, 0);
        if(a!=null){
            mDemoHeight = a.getInteger(R.styleable.FiexedLayout_demoHeight,-1);
            mDemoWidth = a.getInteger(R.styleable.FiexedLayout_demoWidth,-1);
            mStandard = a.getString(R.styleable.FiexedLayout_standard);
        }

 

3、在xml中使用属性

            app:demoHeight="490"
            app:demoWidth="640"
            app:standard="w"

xml中命名空间除了原有的

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

还需要添加

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

文中代码素材取自另一篇博客http://my.oschina.net/reone/blog/716238

注意:attrs.xml中自定义属性时,不能与已有的属性名称相同,如title。

关于自定义view的详细介绍请看弘扬大神的博客http://blog.csdn.net/lmj623565791/article/details/24252901

© 著作权归作者所有

共有 人打赏支持
Reone小卒
粉丝 6
博文 66
码字总数 26838
作品 0
松江
程序员
私信 提问
Android动画:献上一份详细 & 全面的动画知识学习攻略

前言 动画的使用 是 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 本文将献上一份动画的全面介绍攻略,包括动...

Carson_Ho
2018/06/06
0
0
Android 动画:这是一份详细 & 清晰的 动画学习指南

前言 动画的使用 是 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 本文将献上一份动画的全面介绍攻略,包括动...

Carson_Ho
2018/05/03
0
0
Android 动画:你真的会使用插值器与估值器吗?(含详细实例教学)

前言 动画的使用 是 开发中常用的知识 可是动画的种类繁多、使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 Android中 补间动画 & 属性动画实现动画的...

Carson_Ho
2017/06/27
0
0
集成 Knockout 和 Twitter Bootstrap Popover

简介 Knockout 是一个功能强大,非常有用的 javascript 库,用于实现在模板中双向绑定的 MVVM(Model-View-ViewModel) 模式,并有内置的绑定支持来绑定数据到 HTML 元件上去。 Knockout 也支持...

oschina
2014/03/10
613
0
iOS 消息提醒控件--FFToast

FFToast是一个非常强大的iOS message notifications和AlertView扩展。它可以很容易实现从屏幕顶部、屏幕底部和屏幕中间弹出一个通知。你可以很容易的自定义弹出的View. 要求 支持iOS 8或更高...

feng_blog
2017/02/27
457
1

没有更多内容

加载失败,请刷新页面

加载更多

Linux下端口转发工具rinetd介绍

linux下简单好用的工具rinetd,实现端口映射/转发/重定向,针对TCP协议,不支持UDP。 官网地址 http://www.boutell.com/rinetd 里面介绍及使用齐全。 使用场景举例: 阿里云内网Redis连接问题...

ouhoo
11分钟前
1
0
Oracle学习日志-5(算数运算符,比较运算符和逻辑运算符)

因为有编程基础,所以对于这一章还是很好理解,只需要注意对NULL的运算。 操作的表格 算数运算符 查询商品名字和商品售价,并商品售价乘2 SELECT product_name,sale_price * 2 AS "sale_pri...

白话
23分钟前
1
0
搜索引擎(Lucene介绍、分词器详解)

Lucene介绍 Lucene简介 最受欢迎的java开源全文搜索引擎开发工具包。提供了完整的查询引擎和索引引擎,部分文本分词引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简...

这很耳东先生
28分钟前
0
0
quartz详细介绍

quartz常用api Scheduler 调度程序交互的主要API。 Job 希望由调度程序执行的组件实现的接口。 JobDetail 用于定义作业的实例。 JobDataMap 可以包含不限量的序列化数据,在job运行的时候可以...

大笨象会跳舞吧
28分钟前
1
0
kotlin使用jackson序列化enum

默认情况下,我们序列化与反序列化enum是它的name,事实上大部分情况下我们需要序列化的是我们自定义的value,那应该怎么做呢? 这种情况下我们就需要@JsonValue与@JsonCreator data class U...

weidedong
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部