android自定义View1
来源:互联网 发布:广联达网络锁怎么设置 编辑:程序博客网 时间:2024/06/04 22:04
到现在写了这么多水文。
...............好了,今天开始好好写。
前言:
哈哈!不知道你对自定义View理解有多深呢?
不思考不知道,真的用心去想一个问题了才发现,原来自己什么都不懂。
不知道你们有没有遇到过这种情况呢?
来来来,我们先来解决一个问题?
Google为什么要引入自定义View?
解觉这个问题,我们要从android设计人员的角度入手?
来看看android官方文档是怎样解释的吧?
This class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is responsible for drawing and event handling.
这句话非常简短,翻译成中文就是
这个类表示用户界面的基本构件。一个View在屏幕上占据一个矩形区域,负责绘图和事件处理。
为了编于理解我们把这句话分成了三个部分,我们在解决一个问题时经常找不到切入点,这种情况下我们要把文题拆解成一个个小小的、可执行开展的问题。
这个类表示用户界面的基本构件:
这个类就是指View,是用户界面的基本构件。那么android里的用户界面有哪些呢?有很多组件对不对。这些组件就是View,而我们于android手机的交互就是于View的交互,那么问题来了,这些组件是如何实现的?我们是怎么与View交互的呢?我们是在什么地方与View交互的呢?
一个View在屏幕上占据一个矩形区域
从中我们可以看出View是在屏幕中的,毕竟View在屏幕中用户才能对它进行操作吗。那么用户通过什么方式对它进行操作的呢?这个问题很简单,点击还有触摸。View又是如何响应的呢?View在屏幕上占据一个矩形区域,为什么是矩形区域,难道不能是其它型状吗?我的理解是为了简单吧?就是一种通用的做法。当然也可以是其它形状,这就要看android设计者的心情了。还有View在屏幕中必然是有大小的吧?那么它的大小是如何确定的呢?还有位置它显示在屏幕中的哪个位置呢?大小和位置会发生变化吗?
负责绘图和事件处理
再次把它分解成两个
负责绘图
前面说到了View是矩形。那么它怎么样变成三角形呢?又怎么样改变颜色?其实绘图就是改变自己以更好的于用户交互。
事件处理
事件处理就更好理解了,当用户点击或者触摸时?View收到某种指令。执行我们预设胡任务?那么View是响应指令的呢?我们又该如何对View进行操作呢?
哈哈官方文挡厉害吧!一句话就包含了这么内容,下面来一个总结:
设计View是为了与用户进行交互,而要想与用户交互它就必须在屏幕中拥有一块区域。这块区域可以响应用户的操作,而交互的方式是负责绘图和事件处理。
现在对View的概念理解清晰了吧?
好了下篇文章我们对以上讲的问题一一进行讲解。
- android 自定义View1 笔记
- android自定义view1
- android自定义View1
- 自定义View1
- 自定义view1
- 【Android进阶之路】自定义View1
- 文章标题 Android 自定义控件---- View1
- 自定义view1/12
- Table+view1
- View2紧跟view1,并且不被view1挤出屏幕
- View2紧跟view1,并且不被view1挤出屏幕
- Uncaught SyntaxError: Unexpected token < view1
- view2在view1中的显示超出了
- view1 与 view2 叠加覆盖,怎样使view1与view2调换层次?
- android 自定义
- 信息发布系统 Jquery+MVC架构开发(9)view1
- Easyui datagrid datagrid-view1纵向滚动条去除解决方法
- 相对布局中只有两个控件,一个居中View1,另外一个要在View1的左边的方法
- 【龙芯1c库】封装模拟I2C接口和使用示例
- 通过ajax调用HttpServlet来实现前后端数据交互
- 资料
- HMM学习最佳范例:前向-后向算法(Forward-backward algorithm)
- 哈尔滨理工大学软件学院大一个人赛训练Round1<二分,逆向并查集,高维DP,费用流(最大费用),瞎猜??>
- android自定义View1
- 华为实习day5
- 背包问题
- java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testDemo]出现原因及解决办法
- MVVM与Controller瘦身实践
- 图像放缩之双立方插值
- 使用非 GUI 模式运行 JMeter 压力测试
- mybatis插件分页PageHelper
- PHPSTORM使用Xdebug断点调试