Android学习(七)—— Android布局

Android布局

1、LinearLayout

线性布局,这种布局在平时的开发中用的最多,内部控件只能水平或竖直进行排列,在搭建较复杂的界面时会有点麻烦。

常用属性

  • android:orientation   控制控件排列方向,属性值为垂直(vertical)和水平(horizontal),默认水平方向。
  • android:gravity:内部控件对齐方式,常用属性值有center、center_vertical、center_horizontal、top、bottom、left、right等。
  • android:layout_gravity   设置自身相对于父元素的布局。
  • android:layout_weight:权重,用来分配当前控件在剩余空间的大小
  • 注意:使用权重一般要把分配该权重方向的长度设置为零,比如在水平方向分配权重,就把width设置为零。

效果图

2、RelativeLayout

 相对布局,可以让子控件相对于兄弟控件或父控件进行布局,可以设置子控件相对于兄弟控件或父控件进行上下左右对齐。

注意:这个布局中的控件一定要加id才可以进行布局

 常用属性

(1)相对于父控件,例如:android:layout_alignParentTop=“true”

  • android:layout_alignParentTop      控件的顶部与父控件的顶部对齐;
  • android:layout_alignParentBottom  控件的底部与父控件的底部对齐;
  • android:layout_alignParentLeft      控件的左部与父控件的左部对齐;
  • android:layout_alignParentRight     控件的右部与父控件的右部对齐;

(2)相对给定Id控件,例如:android:layout_above=“@id/**”

  • android:layout_above 控件的底部置于给定ID的控件之上;
  • android:layout_below     控件的底部置于给定ID的控件之下;
  • android:layout_toLeftOf    控件的右边缘与给定ID的控件左边缘对齐;
  • android:layout_toRightOf  控件的左边缘与给定ID的控件右边缘对齐;
  • android:layout_alignBaseline  控件的baseline与给定ID的baseline对齐;
  • android:layout_alignTop        控件的顶部边缘与给定ID的顶部边缘对齐;
  • android:layout_alignBottom   控件的底部边缘与给定ID的底部边缘对齐;
  • android:layout_alignLeft       控件的左边缘与给定ID的左边缘对齐;
  • android:layout_alignRight      控件的右边缘与给定ID的右边缘对齐;

(3)居中,例如:android:layout_centerInParent=“true”

  • android:layout_centerHorizontal 水平居中;
  • android:layout_centerVertical    垂直居中;
  • android:layout_centerInParent  父控件的中央;

效果图

 简单来说就是先写好一个控件,其他控件的位置会以第一个控件的位置作为标准进行定位。

3、FrameLayout

帧布局或叫层布局,从屏幕左上角按照层次堆叠方式布局,后面的控件覆盖前面的控件。该布局在地图开发中经常用到。

常用属性

  • android:layout_width="match_parent"    设置宽度
  • android:layout_height="match_parent"    设置高度

效果图

 

4、AbsoluteLayout

绝对布局中将所有的子元素通过设置android:layout_x 和 android:layout_y属性,将子元素的坐标位置固定下来,即坐标(android:layout_x, android:layout_y) ,屏幕左上角为坐标(0,0),横向往右为正方,纵向往下为正方。实际应用中,因为Android终端一般机型比较多,这种布局用的比较少。

常用属性

  • android:layout_x="20dp"   设置横坐标
  • android:layout_y="20dp"   设置纵坐标

效果图

 

5、TableLayout

 表格布局,适用于多行多列的布局格式,每个TableLayout是由多个TableRow组成,一个TableRow就表示TableLayout中的每一行,这一行可以由多个子元素组成。

 注意:在TableLayout中,单元格可以为空,但是不能跨列,意思是只能不能有相邻的单元格为空。

常用属性

(1)TableLayout常用属性:

  • android:shrinkColumns:设置可收缩的列,内容过多就收缩显示到第二行
  • android:stretchColumns:设置可伸展的列,将空白区域填充满整个列
  • android:collapseColumns:设置要隐藏的列
  • 列的索引从0开始,shrinkColumns和stretchColumns可以同时设置。

(2)TableRow常用属性:

  • android:layout_column:第几列
  • android:layout_span:占据列数

效果图

猜你喜欢

转载自www.cnblogs.com/QY-admin/p/9959622.html