Android 基本布局



Android的布局


   一, 线性布局  LinearLayout   继承ViewGroup


将布局中的子控件, 按照水平或者垂直方向排列


特点:   


1, 垂直线性布局, 每一行只能放一个控件, 到底部装不下了则会挤出屏幕(全部或部分显示)


2, 水平线性布局, 每一列只能放一个控件, 到右边装不下了则会挤出屏幕(全部或部分显示)


属性:


1, android:orientation =""   设置排列方式


属性值:   vertical   所有子控件垂直排列


 horizontal 所有子控件水平排列



2, android:layout_weight = ""  权重  , 子控件在父容器中的剩余空间的占比


 线性布局特有的属性, 权重值越大, 所占的空间越大


 备注: 1, 如果水平方向上设置权重, 就把layout_width 设置为0dp
 
2, 如果垂直方向上设置权重, 就把layout_height 设置为0dp




3, 设置布局中所有子控件的重力方向[外对内的要求]


android:gravity="center/right/bottom....." 



4, 设置自控件相对于父容器的位置[内对外的请求]


android:layout_gravity= "center/right/bottom....."


   注意:


 当父容器设置为垂直排列, 子控件不能设置垂直方向上的属性, 例如: bottom , center_vertical


 当父容器设置为水平排列, 子控件不能设置水平方向上的属性, 例如: right , center_horizontal





   二, 相对布局   RelativeLayout  继承ViewGroup


概念:  控件与控件或者控件与父容器之间的相对位置


分类:


1, 子控件相对于父容器的位置   7个


居中对齐


android:layout_centerHorizontal = "true"   水平居中


android:layout_centerVertical = "true"     垂直居中


android:layout_centerInParent = "true"     完全居中


位置对齐


android:layout_alignParentTop="true"     子控件与父容器的顶部对齐


android:layout_alignParentBottom="true"  子控件与父容器的底部对齐


android:layout_alignParentLeft="true"    子控件与父容器的左边对齐


android:layout_alignParentRight="true"   子控件与父容器的右边对齐






2,  子控件与兄弟控件的位置  9个




放置位置


android:layout_toLeftOf="@id/but1"     该控件显示在ID为but1的左侧


android:layout_toRightOf="@id/but1"    该控件显示在ID为but1的右侧


android:layout_above ="@id/but1"       该控件显示在ID为but1的上方


android:layout_below="@id/but1"        该控件显示在ID为but1的下方




对齐方式


android:layout_alignLeft="@id/but1"    该控件与指定控件的左边对齐


android:layout_alginRight = "@id/but1" 该控件与指定控件的右边对齐


android:layout_alginTop="@id/but1"     该控件与指定控件的顶部对齐


android:layout_alginBottom="@id/but1"  该控件与指定控件的底部对齐


android:layout_alginBaseline="@id/but1"该控件与指定控件的基准线对齐(首行文本对齐)


注意:


1, 线性布局中的属性在相对布局中不一定起效果, 比如:weight


2, 相对布局中的属性在线性布局中不一定起效果





= 扩展==


   三, 帧布局  FrameLayout



每个控件都是一帧, 当前的子控件会覆盖前一个子控件



代表:  霓虹灯






   四, 网格布局   4.0 后出现   API 14以上


1, 指定网格布局中的行数和列数


android:rowCount = "3"   行的数量


android:columnCount="3"   列的数量




2,  控件显示在第几行 第几列


android:layout_row = "0"  控件在第几行显示  (默认从0开始)


android:layout_column="0" 控件在第几列显示




3, 合并单元格


android:layout_rowSpan = "2"  行的跨度


android:layout_columnSpan="2"  列的跨度


android:layout_gravity=""   填充所跨越的行和列


属性值:


fill   


fill_horizontal   水平方向填充


fill_vertical      垂直方向填充





  
  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值