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主要是通过拖拽的方法实现布局

 

posted @ 2021-03-10 20:41  哎睡的懒洋洋  阅读(1745)  评论(0编辑  收藏  举报