文档章节

自定义View的一些总结

遇见sunshine
 遇见sunshine
发布于 2016/01/27 17:53
字数 355
阅读 30
收藏 0

一、自定义View

1、构造方法的选中,获取一些需要用到的值

2、重写onMeasure方法,计算子View的宽高,以及自己的宽高

3、重写onLayout方法,决定子View的布局位置

4、需要用的手势是可重写onTouchEvent方法

二、构造方法

1、一个参数的构造方法

context                             new CustomSidingView(context)

2、两个参数的构造方法

Context context, AttributeSet attrs(布局文件中申明的属性,在没有自定义属性的情况下)               CustomSidingView(Context context, AttributeSet attrs)

3、三个参数的构造方法

Context context, AttributeSet attrs, int defStyle(有自定义属性时并用自定义属性时调用)

CustomSidingView(Context context, AttributeSet attrs, int defStyle)


在自定义属性的时候一般三个构造方法都会用

在一个参数的构造方法调用                this(context, null);

在两个参数的构造方法中调用            this(context, attrs, 0);

在三个参数的构造方法中调用             super(context, attrs, defStyle);

三、自定义属性

1、在attrs.xml 文件中自定义

2、在布局文件中使用自定义属性(注意:在布局文件中一定要申明 xmlns  如:app="http://schemas.android.com/apk/res/com.test.sildingmenu"(其中“app”随便定义,“http://schemas.android.com/apk/res/”为固定格式,“com.test.sildingmenu”为项目包名))

3、在三个参数的构造方法里面获得自定义属性的值

© 著作权归作者所有

遇见sunshine
粉丝 3
博文 55
码字总数 21695
作品 0
海淀
程序员
私信 提问
HenCoder Android UI 部分 2-2 全新定义 View 的尺寸

这期是 HenCoder 布局部分的第二期:重写 onMeasure() 来全新定制自定义 View 的尺寸。 简介 这期虽然距离上期的时间比较久,但主要是我的个人原因,而不是因为这期的内容难。这期的内容还是...

扔物线
2017/12/28
0
0
你的自定义View是否真的支持Margin

简书 编程之乐 转载请注明原创出处! 前些日子重温了早已忘却的JavaEE的一些知识点,然后又捣鼓了Python,《Chrome扩展开发》和《JavaFX》相关的东西,花了点时间在上面,下面两个项目是学习...

编程之乐
2017/10/27
0
0
HenCoder UI 部分 2-2 全新定义 View 的尺寸

这期是 HenCoder 布局部分的第二期:重写 onMeasure() 来全新定制自定义 View 的尺寸。 简介 这期虽然距离上期的时间比较久,但主要是我的个人原因,而不是因为这期的内容难。这期的内容还是...

2017/12/28
0
0
HenCoder UI 部分 2-1 布局基础

HenCoder 的第二季:自定义 View 第二部分——布局过程的自定义,从这期正式开始了。好像有点小激动。 废话少说,直入正题。 简介 之前我说过,自定义 View 最关键的有三个点:绘制、布局和触...

扔物线
2017/11/06
0
0
Android-自定义View

Android 之自定义 View 的死亡三部曲之 Measure 我还不知道你的三围呢(你要占多少屏幕),我怎么能轻易让你出场呢? Android 自定义 View,ViewGroup(一)的一些原理与细节, 定义 Recycler...

掘金官方
2018/01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

二、Docker

1、Docker - The TLDR(Too Long,Don't Read,Linxu 终端工具 ) Docker是在Linux和Windows上运行的软件。它创建、管理和编排容器。该软件以开源方式开发,在Github上作为Moby开源项目的一部分。...

倪伟伟
21分钟前
2
0
Python猫荐书系列之七:Python入门书籍有哪些?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/ArN-6mLPzPT8Zoq0Na_tsg 最近,猫哥的 Python 技术学习群里进来了几位比较特殊的同学:一...

豌豆花下猫
今天
5
0
Guava RateLimiter限流源码解析和实例应用

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高...

算法之名
今天
13
0
国产达梦数据库与MySQL的区别

背景 由于项目上的需要,把项目实现国产化,把底层的MySQL数据库替换为国产的达梦数据库,花了一周的时间研究了国产的数据库-达梦数据库,它和MySQL有一定的区别,SQL的写法也有一些区别。 ...

TSMYK
今天
2
0
老也有错?35岁程序员是一道坎,横亘在每个技术职场人的心中

随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论。很多程序员在工作5-10年以后,都会开始思考5年、10年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛...

我最喜欢三大框架
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部