LinearLayout 注意点

来源:互联网 发布:双11淘宝交易额 编辑:程序博客网 时间:2024/05/23 21:41

线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局android:orientation=”vertical”)和水平布局android:orientation=”horizontal” )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。
linearLayout中有一个重要的属性 android:layout_weight=”1”,这个weight在垂直布局时,代表行距水平的时候代表列宽
weight值越大就越大,分配的时候先分配固定的如dip,px 然后在根据weight(权重)分配。
对齐:layout_gravity
垂直(vertical)无法通过控件的android:layout_gravity=”“进行垂直居上、中、下,可以水平居左、中、右。
水平(horizontal)无法通过控件的android:layout_gravity=”“进行水平居左、中、右,可以垂直居上、中、下。

2个都可以用布局的属性android:gravity指定所有控件的居中情况(用center可以水平,垂直居中)。
如果想要某个控件单独水平垂直居中,可以在控件外面再套个LinearLayout,然后android:gravity。

LinearLayout中gravity与layout_gravity
LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式。
通俗点说就是:
layout_gravity 表示组件自身在父组件中的位置
gravity 表示组件的子组件在组件中的位置

android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.
android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左靠右等位置就可以通过该属性设置.
我们弄个最外布局,然后里面包了几个布局,如果要使这几个布局都靠底,就可以在最外布局的属性里设置androi:gravity=”botton” 因为gravity是对里面的内容起作用

0 0