美文网首页
Android开发(2)——Layout布局

Android开发(2)——Layout布局

作者: 让时间走12138 | 来源:发表于2020-11-22 17:44 被阅读0次

本节内容

1.view和ViewGroup的关系

2.FrameLayout 帧布局

3.LinearLayout 线性布局

4.RelativeLayout 相对布局

5.ConstraintLayout 约束布局

一、view和ViewGroup的关系
1.我们布局有两种方式,一种是xml配置,layout下创建.xml文件 ,进行界面布局。还有一种是code创建 ,手动使用代码来创建界面或者是添加控件。
2.一个界面就是一个Activity。 View:单个的,看得到的,可以和用户交互的控件。 ViewGroup :容器,可以存放多个View/ViewGroup 并且管理View的布局。
3.根据每个容器具体功能划分布局:
     1.FrameLayout 帧布局 有覆盖关系
     2.LinearLayout 线性布局  没有覆盖关系
     3.RelativeLayout 相对布局  A和B之间有相对对齐关系(左 右 上 下 中心)
     4.ConstraintLayout 约束布局
4.每个容器都有自己的LayoutParams类,管理子控件的布局参数。
     .xml引用资源使用@开头
     match parent 和父容器宽度或者高度一致
     wrap content 自己内容多大控件就多大
二、FrameLayout 帧布局
     FrameLayout(很少用 很干净 功能很少)
     当添加子控件时,最后添加的控件在最外层,如果控件足够大 会覆盖之前的控件
      layoutMargin 设置和父容器左右上下的外间距
      padding 视图本身的内容和视图之间的间距
     marginStart/Left  和父容器左边的外间距间距  
     layout_gravity 设置当前控件和父容器的关系
     start 、top、 end 、bottom、  center、 center_horizontal、  center_vertical
     gravity 设置子控件和自己的关系
px和dp的区别:px = density*dp,density也就是屏幕的密度。因为每个设备的屏幕密度(density)可能不一样,所以我们一般只设置dp值,而不是px。系统会自动帮我们进行转换。
三、LinearLayout 线性布局
oriention是LinearLayout特有的
     只有横向或者纵向布局的界面 使用线性布局
     1.必须确定摆放的方式  是横向还是纵向
       orientation  默认横向摆放 ,在LinearLayout的标签上修改
      layout_weight  权重 (每个子控件占的权重,类似比例)
      给高度或者宽度设置为0dp  设置对应的比例值
     2.注意  容器的嵌套不要太多 ,否则效率低,计算容器的尺寸会花费很多时间。
四、RelativeLayout 相对布局
1.相对布局 ,子控件和子控件之间 ,子控件和父控件之间可以添加的对齐关系。
2. xml中使用id来标识每一个子控件
  • layout_centerHorizontal = "true" 水平居中
  • layout_toStartOf = "id" 在某个控件的左边
  • layout_toEndOf = "id" 在某个控件的右边
  • layout_below = "id" 在某个控件的下边
  • layout_alignStart = "id" 与某个控件的左边对齐
  • layout_marginTop = "id" 与某个控件的距离
  • layout_alignButton = "id" 与某个控件的底部对齐
五、ConstraintLayout 约束布局
1.以上三种布局,都只能通过代码来进行手动布局,不太方便,所以出现了ConstraintLayout来进行拖动布局。
2.拖动布局可以直接在下图所示的位置进行布局。
image.png
3.在布局时还可以添加guideline,可以是水平的,也可以是居中的,来辅助我们进行布局。
4.其他的属性可以在使用过程中自己慢慢体会,慢慢学习。
好的,以上就是今天的全部内容,再见~~

相关文章

网友评论

      本文标题:Android开发(2)——Layout布局

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