zoukankan      html  css  js  c++  java
  • layout布局

    1:布局有两种方式,一种是通过layout中的xml文件对界面进行布局,另外一种就是通过代码进行布局,

          一般情况下都是通过xml文件对界面进行布局,当你需要动态的改变某一个按钮或视图时则需要对其进行

        代码布局

    2:View:是单个的视图或者控件,是可以看得到的,一般是用来与用户进行交互的

          ViewGroup: 是容器,是用来存放View的,也可以存放viewGroup

    3:viewGroup分为以下几类

           FrameLayout :帧布局,就是一片一片的添加上去,

    如下图一样,橙色的是frameLayout,依次添加的视图是绿色,粉红,而粉红比绿色要小,所以盖不住绿色视图,但是

    会覆盖在上面,最上面添加的是红色,红色的比前两个都要大,会直接将前两个覆盖住

    RelativeLayout: 相对布局,即在该容器中,添加的两个视图a与b之间的对齐关系,

                               它们的左边,右边,上边,下边,中心的关系。

    LinearLayout:线性布局,即在该容器中在添加视图时会自动的成一排的添加(横着的和竖着的兼可)

    ConstraintLayout: 约束布局,在布局时只需要确定该视图距离左,右,上,下各多少,确定其大小即可

    其中约束布局用得比较普遍。

    4:

         layout_margin:      外间距,即一个视图与它周围的视图或容器的距离,a视图与b视图之间的距离就是外间距

         padding:    内间距,即一个视图它本身的内容与视图的距离就是内间距

        layout_gravity:    设置在容器中,视图所在的位置,也就是设置我和父容器之间的关系(start,left左边,end,right右边,center中间等)

         gravity:设置我的子控件和我的关系,若只是一个视图则设置视图中的内容和视图的关系

    linearLayout中:

         orientation: 这是必须要设置的,设置在linearLayout中的视图是按照竖着还是横着排的方式布局

         layout_weight:权重,即每个视图在这个容器中所占的比例,加入在一个linearLayout容器中,总共有3个视图,

    其中,三个视图的权重均为1,则这三个视图所占容器的比例各为三分之一,若一二视图的权重为1,而三视图的权重为0,

    则一二视图各站容器的二分之一,三视图占三分之零。若是横着设置比例则需要将宽度设为0,竖着则将高度设为0.

    RelativeLayout: 主要就是子控件与子控件之间的关系,通过ID来标识与某一个控件的关系,

    ConstraintLayout主要是通过拖拽的方法实现布局

  • 相关阅读:
    [CF1295E] Permutation Separation
    [APIO2010] 特别行动队
    [CF1296F] Berland Beauty
    [CEOI2004] 锯木厂选址
    [CF1334E] Divisor Paths
    Review 2020.11.14
    [CQOI2016] 手机号码
    [LEETCODE600] 不含连续1的非负整数
    [CF55D] Beautiful numbers
    内存取证工具volatility
  • 原文地址:https://www.cnblogs.com/luofangli/p/14514098.html
Copyright © 2011-2022 走看看