android学习布局管理器的一些心得2——基础篇
来源:互联网 发布:java set contains 编辑:程序博客网 时间:2024/06/05 00:48
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以上的,如下图:
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行
- android学习布局管理器的一些心得2——基础篇
- android学习布局管理器的一些心得——基础篇
- Android SDK 管理器的一些心得
- 安卓学习基础——Android布局管理器(一)
- android布局管理器学习
- Android 布局管理器学习
- Android学习之旅——android中布局管理器的总结
- Android入门学习(二)——布局管理器
- Android 基础之布局管理器
- Android学习之路--基础控件<布局管理器之LinearLayout>
- 学习Android从0开始之基础篇(3)-视图组件之布局管理器
- 关于布局管理器使用的一点心得
- Java学习笔记——卡式布局管理器的show
- Android学习6--布局管理器
- Android Studio——布局管理器
- android布局的基础学习
- Android学习笔记16:布局管理器的嵌套
- android基础学习——页面布局
- android开发之AlertDialog
- 72变创始人吴奇详解智能硬件工业4.0
- Java中的String与常量池
- myeclipse for spring优化
- java之软引用
- android学习布局管理器的一些心得2——基础篇
- 按钮&菜单提示信息
- 用结构体创建链表和用类创建链表
- 配置opencv1
- Automate Your Coding Standard
- 再论拷贝构造函数和拷贝赋值运算符
- noj算法题——二分查找
- Beauty Is in Simplicity
- opencv模拟button