View与ViewGroup及其布局介绍

View与ViewGroup的概念

所有控件的父类View与ViewGroup类

AndroidAPP中,所有的用户界面元素都是由ViewViewGroup的对象构成的。View:绘制在屏幕上的用户能与之交互的一个对象。

ViewGroup:是一个用于存放其他View(和ViewGroup)对象的布局容器

Android为我们提供了一个ViewViewGroup子类的集合,集合中提供了一些常用的输入控件(比如按钮和文本域)和各种各样的布局模式(比如线性或相对布局)

用户界面上的每一个组件都是使用ViewViewGroup对象的层次结构来构成的。每个ViewGroup都是要给看不见的用于组织子View的容器,而它的子View可能是输入控件或者在UI上绘制了某块区域的小部件。有了层次树,你就可以根据自己的需要,设计简单或者复杂的布局了(布局越简单性能越好)

Android已经提供了一些app控件,标准的UI布局,只需定义内容且都有其属性介绍的API文档,如操作栏、对话框和状态通知栏等。

View所有可视化控件的父类,提供组件描绘和时间处理方法 

ViewGroupView类的子类,可以拥有子控件,可以看作是容器 Android UI中的控件都是按照这种层次树的结构堆叠得,而创建UI布局的方式有两种,自己在Java里写代码或者通过XML定义布局,后者显得更加方便和容易理解

 

布局介绍

Android中有六大布局,分别是:

LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局)FrameLayout(帧布局),AbsoluteLayout(绝对布局),GridLayout(网格布局)

最常用的就是:LinearLayout(线性布局),RelativeLayout(相对布局)

 

LinearLayout详解:

gravity:控制组件多包含的子元素的对齐方式,可多个组合

layout_ gravity:控制该组件在父容器里的对齐方式

 

divider分割线:用于为此布局设置分割线图片,通过showDividers来设置分割线的所在位置,有四个可选值none,middle,beginning,end;

        divider:为此布局设置分割线的图片

        showDividers:设置分割线所在的位置,有四个可选值none,middle,beginning,end;

        dividerPadding:设置分割线的padding

Java代码中设置weight属性

setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 

         LayoutParams.WRAP_CONTENT, 1));

 

 

 

RelativiLayout(相对布局)

RelativiLayout详解:

gravity:设置容器内组件的对齐方式

ignoreGravity:设置了该属性为true的属性的组件,将不受gravity属性的影响

根据父容器定位:Layout_alighParentLeft    左对齐

               android:layout_centerInParent    中间位置

根据兄弟组件定位:layout_toLeftOf    参考组建的左边

                  layout_above    参考组件的上方

                  layout_alignTop    对齐参考组件的上边界

margin(偏移):设置组件与父容器的编剧,又叫偏移

   layout_margin    设置组件上下左右的偏移量

   layout_marginLeft    设置组件离左边的偏移量

   margin可以设置为负数

padding(填充):设置组件内部元素间的边距(比如TextView里的字体位置)

    padding:往内部元素的上下文左右填充一定边距

   paddingLeft:往内部元素的左边填充一定边距

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值