自定义View的学习(一)
一、简述:
VIew和ViewGroup是一切控件的父类,ViewGroup也继承自View。
二、基本知识:
1.Android坐标系:屏幕左上角为原点,原点向右和向下分别是X、Y轴正方向
2.View坐标系:控件自身坐标。 getTop()、getBottom()、getLeft()、getRight().分别指从父控件原点起到后面的距离。
1) 可用方法event.getX()、event.getY()、event.getRawX()、event.getRawY();前两个指点击事件距离空间边缘距离,叫视图坐标;后两个指点击时间到整个屏幕边缘的距离,叫绝对坐标。
3.View的滑动。 layout();offsetLeftAndRight()、offsetTopAndBottom();LayoutParams();动画(要在自定义的动画xml中加上fillAfter="true" 才能使移动后保持在新位置,但是移动后点击没有点击事件,点击原处有点击事件响应,android3.0出现的属性动画解决了这个问题);scrollTo移动到指定坐标和scrollBy移动的偏移量;Scroller
4.invalidate() 刷新view 转自https://blog.csdn.net/sinat_32807055/article/details/54895511
三、View的事件分发机制
1.
https://blog.csdn.net/huachao1001/article/details/51577291 参考
转载于:https://www.cnblogs.com/antble/p/8652091.html
自定义View的学习(一)相关推荐
- Android开发,自定义View的学习合集
转载自:http://blog.csdn.net/u011507982/article/details/51199644 自定义控件学习 https://github.com/GcsSloop/An ...
- 自定义view初学习(仿小米闹钟)
我是第一次打自定义view相关代码,说错了大家请多多包涵 首先前导知识是自定义view创建时候要重写的方法onMeasure确定相当于父容器当前自定义view的位置 onDraw 用Canvas.曲 ...
- 自定义View步骤学习笔记
用途 : 一个View内部的子控件比较多的时候可以自定义一个View,把它内部的子控件屏蔽起来(就像苹果的导航栏上面的UIBarButton,你是通过BarButtonitem来修改显示的内容) 1. ...
- 手把手带你画一个漂亮蜂窝view Android自定义view
上一篇做了一个水波纹view 不知道大家有没有动手试试呢点击打开链接 这个效果做起来好像没什么意义,如果不加监听回调 图片就能直接替代.写这篇博客的目的是锻炼一下思维能力,以更好的面多各种自定义vi ...
- Android 自定义view的知识梳理。
关于越来越多的新手找不到自定义view的学习资料或者无法学会自定义view. 本篇专门讲解一下初级进阶必经之路,自定义view.. 我们先把自定义View细分一下,分为两种 A 自定义ViewGro ...
- Android 自定义view完全解析--带你通透了解自定义view
参考转自郭霖博客带你一步步深入了解View系列 Android LayoutInflater原理分析 相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用 ...
- Android中的自定义View(一)
文章收藏的好句子:成功从来不是一蹴而就,而是日积月累的努力叠加的结果. ps:本文是基于 Android API 31 来分析的,文章写的 demo 是用 AndroidStudio 工具来开发的. ...
- Android自定义View之画圆环(手把手教你如何一步步画圆环)
关于自定义View: 好了,吐槽时间到.自定义view是Android开发知识体系中的重点,也是难点.好多小伙伴(也包括我)之前对自定义view也是似懂非懂.那种感觉老难受了.因此作为社会主义好青年, ...
- Android自定义View分享——仿微信朋友圈图片合并效果
写在前面 笔者近来在学习Android自定义View,收集了一些不算复杂但又"长得"还可以的自定义View效果实现,之前分享过两个效果:一个水平的进度条,一个圆形温度显示器,如果你 ...
最新文章
- tensorflow中打印一个tensor值
- 教你用Python爬取图虫网
- php 修改 wordpress,修改WordPress中文章编辑器的样式的方法详解
- Spring Cloud(F版)搭建高可用服务注册中心
- python的os为啥找不到文件_python使用os.listdir和os.walk获得文件的路径
- 关于jquery中prev()和next()的用法
- java 线程池的原理与实现_Java线程池原理及实现
- linux firefox flashplayer 升级,在deepin中更新火狐浏览器firefox和firefox-flashplayer的方法...
- 典型知识图谱项目:FreeBase、WikiData、Schema.org、DBPedia、YAGO、WordNet、ConceptNet、BabelNet、Palantir
- js从服务器获取word文档,javascript - 使用Office.js API将Word文档(.docx)保存到后端服务器 - 堆栈内存溢出...
- adguard拦截规则存在哪里_Adguard怎么用-使用Adguard拦截广告的方法 - 河东软件园...
- protege的下载
- 用KUSTO查询语句(KQL)在Azure Data Explorer Database上查询LOG实战
- mysql求学号的总分_有一个student表,有学号,姓名,科目,成绩等字段,请写一条sql语句,算出学生的总分数?...
- OSChina 周二乱弹 —— 老司机表示右手无处安放
- 如何压缩数据与图像?
- Java进阶资料汇总
- 平面几何中的有名定理 PPT
- Mysql数据库之结构同步
- 小型故障FCPX转场:YCImaging Transitions for Mac
热门文章
- 好了好久时间,终于写成了第一个Python代码
- Asset Store 下载的package存在什么地方?
- C++学习笔记————WINAPI宏定义
- 算法(三):图解广度优先搜索算法
- socket编程(一)最简单的c/s模式
- MFC获取文件夹路径并得到该字符串
- C++中 类与类之间的关系
- AndroidStudio安卓原生开发_SwipeRefreshLayout_下拉刷新控件---Android原生开发工作笔记119
- Ruoyi框架Maven编译不通过的问题---SpringCloud Alibaba_若依微服务框架改造---工作笔记006
- OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137