因为不同布局有不同的xml标记所以RelativeLayout拥有的属性在LinearLayout中不一定有。

LinearLayout标记中的属性除了通用的属性外还有android:orientation和android:gravity,他们分别的作用是控制组件水平或者垂直排列和控制全部组件在布局的哪个位置显示(RelativeLayout的gravity属性也是这个作用)。

其中android:layout_weight属性是用在子组件中的。这个属性的用途可以这样理解,当我们已经完成组件的添加,这时候可能布局空间(即整个屏幕)未占满,如果我们希望让一些组件占得空间更大,来填满布局空间,就可以使用这个属性。明确了问题域,我们再来看这个属性。这个属性值是一个权值,用于表示当前组件除了自身大小外需占剩余布局空间的权重。默认值是0,即表示组件没有占剩余布局空间,它的大小和它的width和height属性(本身大小)设置有关(不要使用fill_parent和match_parent属性值)。在运行项目时,系统自动计算所有组件中的layout_weight属性的和sum,然后对每个组件计算layout_weight值/sum*剩余布局空间大小得出了此组件得到的剩余空间大小。不要误认为将整个空间划分比例来放置组件。其实理解起来也很简单,Android每个控件创造出来必定是用于显示的,如果划分比例来放置组件则可能一些组件就没办法包裹其自身内容,而如此实现则保证了组件能够拥有最小大小(即包裹自身的大小)。

更多相关文章

  1. Android 四大组件 简介
  2. Unexpected namespace prefix "xmlns" found for tag LinearLayo
  3. android在布局中动态增加view时的层级控制
  4. Android 总结:打造Android中的流式布局和热门标签(源码有详细注释)
  5. android RecyclerView布局真的只是那么简单!
  6. Android简单自定义布局介绍
  7. Android 自定义属性时TypedArray的使用方法

随机推荐

  1. 在某个点停止固定位置滚动?
  2. 使用jquery tablesorter插件,有一个选中项
  3. js是否为空判断大全
  4. 如何使用jQuery选择列表中的最后X项?
  5. jquery为属性过滤器动态添加值?
  6. jQuery Datatable(V1.10.7) server side pr
  7. 如果没有附加,则隐藏本身
  8. 导入地址簿联系人,存储在数组中并保存到数
  9. 绑定和解除相同javascript函数的目的是什
  10. jquery不会对select/选项更改事件作出反