View的一些小知识

 1、LayoutInflater View渲染器,用于渲染各种布局并且把它加载到你的主布局中,

   主要方法layoutInflater.inflate(resourceId, root);

   内部逻辑是使用Android提供的pull解析方式来解析布局文件的。解析出来后通过反射方法来创建解析出来的控件。

2、两个属性,layout_height和layout_width 是用于设置控件在某一个布局中的宽和高,而不是设置控件本身的大小。换句话说如果控件没有      被添加到某个布局中他设置layout_height和layout_width是没有效果的。

3、View时间的传递,View的事件是一个一个传递,先传递down事件在传递move事件,最后传递up事件,换言之,只有在down事件被销毁       后move才会触发,move被销毁了才会触发up事件,传递方式之前在一个大神的博文中看到一个非常生动的比喻,拿来说下也做个笔记防止以后忘了,比喻是这样的

       1、人物:省长,市长,镇长,村长,农民。

           down事件 省长说要吃鱼 --安排市长做 --市长安排镇长做-----镇长安排村长做-----村长叫农民做 ---农民已经不能下传,就只能自己              做,农民做啊做啊做不出来了,反馈村长,村长说太没用了,那就自己做发现自己也不会做,反馈镇长,镇长说村长太没用了,那就自         己做,镇长做啊做啊做出来了(down事件已经被消耗了),反馈给市长,市长说不错哦,下次有事还找你,市长反馈给省长,省长说           不错啊下次有事还找你。

        move事件,省长说要吃馒头--安排个市长----市长安排给镇长   ----镇长心里想上次让你做的事情你都做不好这次就不找村长了自己做,镇长做啊做啊做出来了(mov事件已经销毁),反馈给市长-市长反馈给省长。

       up事件, 省长说要吃包子。。。。。大概流程就跟move事件一样的

       这个比喻非常的生动有没有,用相对专业一点的语言就是,如果你的view没有响应down事件那么后面的move和up事件都不会传到你         这了。这也道出为什么在down事件中一定要返回true不然你后面的move和up事件都不会响应。

4、getRawX(),getRawY()和getX(),getY()的区别,getRawX(),getRawY()是相对于屏幕的原点的距离,而getX(),getY()是相对于控件左上方的点的距离。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值