Android Studio的6大布局
本节引言:本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局) 而今天我们要讲解的就是第一个布局,LinearLayout(线性布局),我们屏幕适配的使用 用的比较多的就是LinearLayout的weight(权重属性),在这一节里,我们会详细地解析 LinearLayout,包括一些基本的属性,Weight属性的使用,以及比例如何计算,另外还 会说下一个用的比较少的属性:android:divider绘制下划线!
1: LinerLayout(线性布局)
①:weight(权重)属性详解
按比例划分水平方向:将涉及到的View的android:width属性设置为0dp,
然后设置为android weight属性设置比例即可;类推,竖直方向,只需设android:height为0dp,然后设weight属性即可
②:weight属性详解则要接着解析weight属性了,分为两种情况,wrap_content与match_parent!
另外还要看 LinearLayout的orientation是水平还是竖直,这个决定哪个方向等比例划分
③:为LinearLayout设置分割线
1:直接在布局中添加一个view
2:第二种则是使用LinearLayout的一个divider属性,直接为LinearLayout设置分割线 这里就需要你自己准备一张线的图片了
1)android:divider设置作为分割线的图片
2)android:showDividers设置分割线的位置,none(无),begining(开始),end(结束),middle(每两个组件间)
3)dividerPadding设置分割线的Padding
2:RelativeLayout(相对布局) 《几乎不用》
3:GridLayout(网格布局)
可以自己设置布局中组件的排列方式
可以自定义网格布局有多少行,多少列
可以直接设置组件位于某行某列
可以设置组件横跨几行或者几列
3.1:常用属性
GridLayout布局相关属性:rowCount、columnCount
GridLayout中子控件相关属性:layout_gravity="fill_horizontal|fill_vertical"
3.2:Space标签的作用:挡住控件,让其不超出网格的范围
<Space android:layout_width="wrap_content" android:layout_height="wrap_content"/>
4: FrameLayout(帧布局)(就好象一张张卡片堆叠上去,后面会盖出前面的)
注:帧布局有点类似于awt的CardLayout都是把组件一个一个叠加到一起,
但CardLayout能将下面的组件移上来,但FrameLayout没有提供此功能
4.1:常用属性
前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片。
两个属性:
**android:foreground:***设置改帧布局容器的前景图像
android:foregroundGravity:设置前景图像显示的位置