android:layout_weight的真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比!

含义:原有宽度+剩余空间占比

设屏幕宽度为L,在两个view的宽度都为match_parent的情况下,原有宽度为L,两个的View的宽度都为L,那么剩余宽度为L-(L+L) = -L, 左边的View占比三分之一,所以总宽度是L+(-L)*1/3 = (2/3)L.事实上默认的View的weight这个值为0,一旦设置了这个值,那么所在view在绘制的时候执行onMeasure两次的原因就在这。

Google官方推荐,当使用weight属性时,将width设为0dip即可,效果跟设成wrap_content是一样的。这样weight就可以理解为占比了!

参见:android:layout_weight的真实含义.http://blog.csdn.net/yanzi1225627/article/details/24667299

更多相关文章

  1. Android控件的高度,宽度设置
  2. android:ellipsize="end"在ConstraintLayout中无效的问题
  3. Android2.2 API 中文文档系列(1) —— TextView
  4. Android(安卓)不同分辨率适配
  5. Android下动态获取View的高度或宽度
  6. Android(安卓)UI 限定字数 单独一行
  7. android 动态添加组件(RadioGroup 添加RadioButton和其他组件的一
  8. ImageView的属性 android:scaleType
  9. Android(安卓)TextUtil

随机推荐

  1. Android(安卓)process
  2. android attr.xml
  3. android重写Dialog(接上文)
  4. android版本更新代码
  5. ProgressBar 样式
  6. android:persistentDrawingCache 的含义
  7. android java获取当前时间的总结
  8. Android如何使用XML创建一个环形渐变颜色
  9. android 操作sqlite数据库
  10. android 网络视频代码