随笔分类 -  View的相关知识

摘要:有时候我们自定义一个View,比如ImageView,我们需要让它宽高按照一定的比例显示,例如在ImageView在GridView中显示,GridView设置了3列,由于ImageVIew的宽度会根据屏幕的大小进行缩放的,如果不设置高度与宽度成一定比例的话,那么可能会由于屏幕大小的变化而让Imag 阅读全文
posted @ 2018-09-13 20:19 妖久 阅读(532) 评论(0) 推荐(0) 编辑
摘要:当我们在布局文件中设置View为wrap_conten的时候,不可以直接使用 来获取宽高,使用该方法获取到的是0,应该使用最上面的方法。 阅读全文
posted @ 2018-08-28 20:20 妖久 阅读(377) 评论(0) 推荐(0) 编辑
摘要:自定义View有三个构造方法,它们的作用是不同的。 第一个是new 一个对象的时候调用。 第二个是在XML文件声明的时候调用。 系统默认只会调用前两个构造函数,至于第三个构造函数的调用,通常是我们自己在构造函数中主动调用的。 阅读全文
posted @ 2017-06-20 21:22 妖久 阅读(1383) 评论(0) 推荐(0) 编辑
摘要:getMeasuredWidth 为view的测量宽度。 getWidth为view的最终宽度。 (这里只讨论宽度,高度也是一样的道理) 那么它们之间有什么区别呢? 测量宽度是在view的measure过程中形成的,而最终宽度是view的layout过程中形成的。这是它们之间的区别,它们的大小在大多 阅读全文
posted @ 2017-06-18 21:48 妖久 阅读(1739) 评论(0) 推荐(0) 编辑
摘要:很多初学者都会犯一个错误 ,就是在onCreate或者onStart里面去获取view的大小,然而这样获取到的宽高通常都是0,为什么呢?因为view的测量过程和activity的生命周期不是同步的,因此无法保证执行了onCreate、onStart、onResume的时候view已经测量完毕。如果还 阅读全文
posted @ 2017-06-18 21:11 妖久 阅读(770) 评论(0) 推荐(0) 编辑
摘要:我们都知道系统要确定View的大小,首先得先获得MeasureSpec,再通过MeasureSpec来决定View的大小。 MeasureSpec(32为int值)由两部分组成: SpecMode(高2位):测量模式。 SpecSize(低30位):某种测量模式下的规格大小。 SpecMode有3类 阅读全文
posted @ 2017-06-17 17:17 妖久 阅读(690) 评论(0) 推荐(1) 编辑
摘要:要理解View的测量,首先要了解MeasureSpec,系统在测量view的宽高时,要先确定MeasureSpec。 MeasureSpec(32为int值)由两部分组成: SpecMode(高2位):测量模式。 SpecSize(低30位):某种测量模式下的规格大小。 SpecMode有3类: U 阅读全文
posted @ 2017-06-16 21:49 妖久 阅读(328) 评论(0) 推荐(0) 编辑
摘要:View事件的分发机制由三个方法共同完成,这三个方法是: public boolean dispatchTouchEvent(MotionEvent ev); public boolean onInterceptTouchEvent(MotionEvent ev); public boolean o 阅读全文
posted @ 2017-06-16 19:50 妖久 阅读(611) 评论(0) 推荐(0) 编辑
摘要:一直想弄清楚onTouchEvent,onInterceptTouchEvent,dispatchTouchEvent的执行顺序,以及内部使用switch (event.getAction())中的执行顺序。趁这次机会赶紧弄清楚。 public boolean onTouchEvent(Motion 阅读全文
posted @ 2016-10-04 23:29 妖久 阅读(1451) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩