首页 > 其他分享 >android学习布局管理器的一些心得2——基础篇

android学习布局管理器的一些心得2——基础篇

时间:2022-11-24 17:08:19浏览次数:47  
标签:管理器 ------- GridLayout 对齐 组件 layout android 心得


RelativeLayout ----- 相对布局

1.RelativeLayout不是相对于单体的布局,每一个组件的布局都要依赖另外一个或多个组件,这个布局表示的是一个组件相对于另一个组件(或者是整个RelativeLayout布局)的相对位置。

2.虽然这个布局管理器带有android:gravity属性,但是一般都不使用这个属性,因为一旦固定了RelativeLayout总的对齐方式,那么就不能再去设置其子组件的相对位置了,因为设置了也没用。

3.RelativeLayout的子组件中,如下方法设置这个子组件相对整个布局管理器的位置:

android:layout_centerHorizontal ----- 水平居中

android:layout_centerVertical ------- 垂直居中

android:layout_centerInParent ------ 在中央位置(其实同时使用水平居中和垂直居中也可以达到这个效果)

android:layout_alignParentLeft ------ 与左边对齐

android:layout_alignParentRight ------  与右边对齐

android:layout_alignParentTop -------- 与顶部对齐

android:layout_alignParentBottom ------- 与底部对齐

4.RelativeLayout的子组件中,如下方法设置这个子组件相对另一个组件的位置(里面传入对应组件的android:id) :

//下面4个方法分别设置组件位于指定ID组件的相对位置

android:layout_toRightOf ---- 右侧

android:layout_toLeftOf ------- 左侧

android:layout_above ------- 上方

android:layout_below ------- 下方

//设置好相对位置之后,下面4个方法分别设置该组件与指定ID组件的对齐方式

android:layout_alignTop ------  上边界对齐

android:layout_alignBottom ------ 下边界对齐

android:layout_alignRight ---- 右边界对齐

android:layout_alignLeft -------  左边界对齐


GridLayout ------ 网格布局

1.Android 4.0 才有的布局,在创Android项目的时候,在最低版本要求的时候至少要选4.0以上的,如下图:

android学习布局管理器的一些心得2——基础篇_android

2.GridLayout常用易忘的方法:

android:rowCount(setRowCount(int)) -------  行数

android:columnCount(setColumnCount(int)) -------- 列数

3.GridLayout子容器的方法:

android:layout_column ------- 指定该组件位于j列

android:layout_row ------- 指定该组件位于i行

android:layout:gravity(setGravity) ----- 设置该组件以何种方式占据该网络的空间(也就是如果还有剩余的空间,用特定的设置可以把组件拉长以达到占满空间的效果)

android:layout_columnSpan -------  设置该子组件在GridLayout横向上夸几列

android:layout_rowSpan ---------- 设置该子组件在GridLayout纵向上夸几行


对于指定组件的位置,可以用GridLayout.Spec这个内部类来用代码动态指定,代码如下:

//指定该组件所在的行
GridLayout.Spec rowSpec = GridLayout.spec(i/4+2);
//指定该组件所在的列
GridLayout.Spec columnSpec = GridLayout.spec(i%4);
//构造一个特定位置
GridLayout.LayoutParams params = new GridLayout.LayoutParams(rowSpec, columnSpec);
//指定该组件占满父容器
params.setGravity(Gravity.FILL_HORIZONTAL);
//向GridLayout中利用这个位置加入组件
layout.addView(bn, params);

如果需要指定

该子组件在GridLayout横向上夸几列几行,那么就要使用GridLayout.spec的一个重载的方法,如下:


GridLayout.Spec columnSpec = GridLayout.spec(0, 2);

这个方法指定该组件位于第0列,而且夸2行






标签:管理器,-------,GridLayout,对齐,组件,layout,android,心得
From: https://blog.51cto.com/u_15890522/5884192

相关文章