LinearLayout:
线性布局,就是所有的控件都依次排序,谁也不会覆盖谁。没有办法直接调整控件的位置和相对位置。但是,定义一个排列方向最好,横向:orientation:horizontal,纵向:orientation:vertical,可以通过margin来控制间距。
1、android:orientation:设置它内容的对其方向(横向/竖向)。
2、layout_gravity与gravity的区别:
android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。
android:gravity是指本元素的子元素与他的对其方式。
比如说button:android:layout_gravity 表示按钮在界面上的位置。 android:gravity表示button上的字在button上的位置。
这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。这些属性可以多选,用|隔开。
3、
权值:
如果LinearLayout包含子LinearLayout,子LinearLayout之间的权值越大的,重要度则越小。如果有LinearLayout A包含LinearLayout C,D,C的权值为2,D的权值为1,则屏幕的2/3空间分给权值为1的D,1/3分给权值为2的C。这个让我很疑惑,为什么要反着来呢?正着来,权值越大占的空间越大不是很好吗?在LinearLayout嵌套的情况下,子LinearLayout必须要设置权值,否则默认的情况是未设置权值的子LinearLayout占据整个屏幕。
4、布局的fill_parent,wrap_content,match_parent三者的区别:
fill_parent:布满整个屏幕
wrap_content:强制性将试图扩展以显示全部内容,这个有点像自适应大小。布局的元素将根据内容改变大小。
match_parent:与fill_parent比较像,但是2.2以后就用match_parent。
5、边距:
padding:是这个控件的内容距这个控件边缘的距离。
margin:是这个控件距他的父元素的距离。
RelativeLayout:
控件的位置是相对的,下一个控件的位置依赖上一个控件。
1、以true和false为值的属性:
android:layout_centerHrizontal :水平居中
android:layout_centerVertical:垂直居中
android:layout_centerInparent :相对于父元素完全居中
android:layout_alignParentBottom:紧贴父元素的底边缘
android:layout_alignParentLeft:紧贴父元素的左边缘
android:layout_alignParentRight:紧贴父元素的右边缘
android:layout_alignParentTop:紧贴父元素的上边缘
2、值为id名的属性
layout_below:在某元素的下方
layout_above:在某元素的上方
layout_toLeftOf:在某元素的左边
layout_toRightOf:在某元素的右边
layout_alignTop:本元素的上边缘与某元素上边缘对齐
layout_alignBottom:本元素的下边缘与某元素的下边缘对齐
layout-alignLeft:本元素的左边缘与某元素的左边缘对齐
layout_alignRight:本元素的右边缘与某元素的右边缘对齐
android:layout_alignBaseline本组件和某组件的基线对齐
android:layout_alignStart: 两个控件开始对齐
android:layout_alignEnd:两个控件结束对齐
android:layout_alignParentStart:子控件和父控件开始对齐
android:layout_alignParentEnd:子控件和父控件结束对齐
3、值为像素的属性:
layout_marginBottom:本元素离某元素的底部的距离
layout_marginTop:本元素离某元素的上部的距离
layout_marginLeft:本元素离 某元素的左边的距离
layout_marginRight:本元素离某元素的右边的距离
本人新手,若有不当之处,请指教,若转载请注明出处。