这几天一直在研究ViewGroup这个类,根据很多资料了解到,viewgroup是一个view的容器,可以实现很多布局控件其实都是通过继承这个类实现的,而且如果你要实现自己的布局自定义viewgroup也是最恰当的方法。

但是自定义viewgroup涉及到很多关于view的函数,最典型的就是onMeasure,关于onMeasure你可以去参考如下这些文章:

好了简单的说来 onMeasure的作用就是设置子视图的大小区域,可是这又canvas扯上关系了,view其实是canvas画出来的,但是canvas是如何画出一个大小固定的视图的呢,  canvas不就是整个手机屏幕吗。

这是疑惑的第一个问题。

第二个问题是viewgroup中的onLayout()

这个函数是设置子view的布局位置,但是这个位置到底是相对于什么而言的,scrollto移动的到底是什么,和canvas的translate移动函数有什么关系。

安卓canvas设置HTML,安卓开发中view和canvas的理解相关推荐

  1. android draw canvas,Android 中View.onDraw(Canvas canvas)的使用方法

    Android 中View.onDraw(Canvas canvas)的使用方法 View通过View.onDraw(Canvas canvas)来Draw. 我们可以定义自己的继承于View的Tes ...

  2. android摄像头方向与屏方向,Android开发中关于摄像头方向的理解

    安卓开发中经常有需要使用摄像头的应用场景,对于初次接触的同学摄像头的方向是一个比较难弄清楚的概念,开发时很容易处理不当,本文将详述该部分内容帮助理解. 一.摄像头捕获的图像 先看一个简单的场景,打开手 ...

  3. adb 安卓模拟器 进程端口_Android开发中遇到的问题(一)——Android模拟器端口被占用问题的解决办法...

    一.问题描述 今天在Eclipse中运行Android项目时遇到"The connection to adb is down, and a severe error has occured& ...

  4. android usb设置波特率,USB开发中设置波特率

    最近在做Android设备与外设通信,需要用的串口通信.如果使用android-serialport-api发现Android设备需要获取root权限,否则会报权限不足的异常.所以决定使用Androi ...

  5. python 安卓应用层_使用Python开发客户端和服务端程序 理解应用层协议和表示层...

    不少学习计算机网的学生,对于服务器和客户机,以及应用层协议 表示层理解的不完全,在这里我使用Python编写了用于传输学生信息的程序.服务端使用TCP的8898端口侦听客户端的请求.客户端向服务端发送 ...

  6. mvvm模式和mvc的区别_Android 开发中的架构模式 -- MVC / MVP / MVVM

    预备知识 了解 Android 基本开发 看完本文可以达到什么程度 了解如何分析一个架构模式 掌握 MVC,MVP,MVVM 架构定义和实现 更多面试内容,面试专题,flutter视频 全套,音视频从 ...

  7. java css路径_java web开发中CSS路径有问题吗,运行jsp文件为什么找不到css文件?...

    ---------------------------------------------------------------------------------------------------- ...

  8. Android开发中保存数据的四种方法方法

    本文来自:安卓航班网 在Android开发中我们会接触到四种数据存储方式,每种存储方式都各有不同:以下安卓航班分别列举了Android开发中的不同存储方式的特点. 一,Preferences Pref ...

  9. ios 开发中 动态库 与静态库的区别

    使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...

最新文章

  1. vue 手机键盘把底部按钮顶上去
  2. 【python教程入门学习】Pandas是什么
  3. C#代码生成工具:文本模板初体验 使用T4批量修改实体框架(Entity Framework)的类名...
  4. hdu1428 spfa+记忆化搜索
  5. tableau必知必会之学做常用的倾斜图(slopegraph)
  6. 跨链Cosmos(2) Cosmos系统框架
  7. 七夕|情人节情书指南
  8. SharePoint 2013 InfoPath 无法保存下列表单
  9. 【十二省联考】春节十二响【贪心】【堆】【启发式合并】
  10. mysql登陆三小时平均值图片_Mysql每小时平均值,间隔从半小时开始
  11. chrome中Blackbox Script 黑盒脚本作用及用法
  12. mysql+delete删除空行,删除空行 linux
  13. 计费软件 0day 被用于攻陷美国某工程公司,8个未修复0day再现
  14. 如何保存windows聚焦壁纸
  15. js操作XML文件兼容IE与FireFox
  16. java继承封装多态特性_java 三大特性 封装 继承 多态
  17. 用javascript实现调用本地用户程序
  18. 各款浏览器对PDF插件的支持
  19. 扫读 | Towards Personalized Federated Learning
  20. Android系统永不熄屏和取消开机锁屏功能

热门文章

  1. mongodb查看数据库和表的信息
  2. MySQL利用存储过程清除所有表中的所有记录
  3. 论文笔记:Deep Residual Learning
  4. Netty(一)——Netty入门程序
  5. Redis主从同步和持久化
  6. Socket.io发送消息含义
  7. Erlang命令行提示符汇总
  8. wordpress引入php文件,WordPress主题制作之模板文件的引入方法,wordpress模板
  9. go包package的使用细节
  10. Ansible script模块使用示例