android View的layout属性

说到自定义控件,就不得不提到3个方法,onMeasure(),onLayout(),onDraw(),这里重点说下onLayout方法。

 layout(int l, int t, int r, int b)有4个参数,其中源代码注释是这样的:

 Left position, relative to parent

 Top position, relative to parent

 Right position, relative to parent

 Bottom position, relative to parent

翻译也简单,就是相对于父控件上下左右的距离,一般确定一个控件的位置,其实只需要left和top这2个参数就可以了,然后我就想为什么还需要后面2个参数呢,然后就专门写了个demo验证了一下(英文差,注释不能完全看懂),得出结论如下:

  left和top确实是确定控件位置的重要参数,但是right和bottom也不可少,因为屏幕就那么点大,如果你设置的left和top值超过了屏幕宽高,那控件      不是就消失了么,所以用right和bottom做规避,不允许控件位置超出屏幕。但是呢还是会有一个问题,如果你在使用layout方法的时候,只改变了left和top的值,没有改变right和bottom的值,控件就会被挤压,部分变的不可见,所以想要使用layout改变控件位置的同学注意了,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容