Android学习—— Android布局

作者: python草莓 | 来源:发表于2019-04-14 20:33 被阅读66次

    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设置为零。

    效果图

    image

    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 父控件的中央;

    效果图

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

    image

    3、FrameLayout

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

    常用属性

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

    效果图

    image

    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" 设置纵坐标

    效果图

    image

    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:占据列数

    效果图

    image
    有兴趣的可以加群交流技术【Android技术交流】:https://jq.qq.com/?_wv=1027&k=55YgqsK。进群 免费领取安卓进阶学习视频,源码,面试资料,群内有大牛一起交流讨论技术;点击链接加入群聊(包括java基础与原理,自定义控件、NDK、架构设计、混合式开发(Flutter,Weex)、性能优化、完整商业项目开发等)

    相关文章

      网友评论

        本文标题:Android学习—— Android布局

        本文链接:https://www.haomeiwen.com/subject/yttewqtx.html