LayoutParams定义的长宽、位置等和getLeft和getWidth之间的关系
来源:互联网 发布:傲娇熊直播 知乎 编辑:程序博客网 时间:2024/05/01 17:24
今天做项目的时候,碰到一个问题:
1、在onCreate的时候,我想设置View的大小的位置,我调用View.setLeft(),View.setRight(),View.setTop(),View.setBottom()等属性,结果不起作用。。。。
2、回来改变它的LayoutParams的LayoutParams.width,LayoutParams.height = height,LayoutParams.setMargins(l, t, r, b),就解决问题了。
问题来了,View.setLeft 等输入和LayoutParams.setMargins(l, t, r, b)是怎么的一个关系呢?不都是设置View的位置吗?
View.getWidth的值是View.getRight - View.getLeft, 这个结果和LayoutParams.width又是什么关系呢?
结论:
很简单,顾名思义,LayoutParams就是为View的布局提供一些参数,这个是在布局前定义。
然后再布局的时候(onMeasure和onLayout),会去除LayoutParams的值,然后最后设置到mLeft,mRight等属性中。
而mLeft的值就是View.getLeft()的值,mRight的值就是View.getRight的是,View.getWidth就是mLeft - mRight.
这就是他们的关系。
0 0
- LayoutParams定义的长宽、位置等和getLeft和getWidth之间的关系
- ViewGroup和LayoutParams之间的关系
- View中有关位置的属性--getX、getScrollX、getLeft、getWidth等,基于sdk20
- 关于getRawX和getX、getMeasureWidth和getWidth之间的区别
- android中getWidth()和getMeasuredWidth()之间的区别
- android中getWidth()和getMeasuredWidth()之间的区别
- android中getWidth()和getMeasuredWidth()之间的区别
- WindowManager.LayoutParams() 关于重心和坐标和的关系
- 设置组件的长和宽 LayoutParams以及获得屏幕的宽和高
- OOA、OOD和OOP的定义及之间的关系
- OOA、OOD和OOP的定义及之间的关系
- getWidth和getMeasuredWidth的正解
- getWidth() 和 getMeasuredWidth()的区别
- getWidth和getMeausuredWidth的区别
- getwidth和getmeasuredwidth的区别
- getWidth()和getMeasuredWidth()的区别
- getMeasuredWidth()和getWidth() 的区别
- 使用WindowManager.LayoutParams的x和y设置窗体位置
- 【leetcode】234. Palindrome Linked List
- 第10章 世界(World Class)
- Java中基本类型两者的使用
- Hibernate映射解析——七种映射关系(比较详细)
- toString()方法
- LayoutParams定义的长宽、位置等和getLeft和getWidth之间的关系
- 第11章 杂项(Loose Ends)
- umbraco 集成多说评论组件
- 同步异步网络请求封装以及数据JSON解析
- 数据结构面试题1.2.5-在二元树中找出和为某一值的所有路径
- 第12, 13, 14章
- 图像匹配之序贯相似性检测法匹配
- Windows下Setting Up a Project(建立一个工程)
- 2016最新Android安卓短信拦截(过Android4.4和Android5.0和Android5.1)源码