03 |「布局 layout 和 View」

本文介绍了Android开发中布局的基础概念,包括XML布局文件的作用,视图层次结构,以及LinearLayout和RelativeLayout的使用。重点讲解了如何通过XML和Java代码实现控件布局,以及View和ViewGroup的区别和属性设置。
摘要由CSDN通过智能技术生成

前言

实践是最好的学习方式,技术也如此。

一、布局

  • 基本概念
    • 布局 layout:就是 layout 目录下的一个个 .xml 文件;
  • xml 文件
    • 本质还是 Java 代码;采用 xml 方式进行布局,目的是为了方便开发者进行直观的布局;
    • 层级结构
      • 每一块都是一个节点;
      • 每个节点都是一个视图;
      • 外层的是父节点,里层是子节点;
      • 每个节点都可以声明属性;
    • xml 布局文件中的每个 view 节点,最终也都会被解析成 Java 代码类; 每个节点都是对应一个 Java 类,实现都是通过 Java 代码进行实现;
    • 如何实现将 xml 文件实现我们看到的显示界面?
      • 通过对 xml 进行解析,对 xml 文件从上往下开始遍历解析;每遍历到一个节点都会将其实例化成一个类;
      • 所以本质上是可以自己通过 Java 代码来写一个一个的控件的;

二、实现

  • 新建一个布局页面 layout
  • 注意点
    • 文件命名不能有大写字母;
    • 文件命名要用下划线分割(每个分割都用一个单词来命名,每个变量命名要有意义) ;

三、View

  • 分类

    • 容器类型的 View:例如,LinearLayout
    • 子 View (也可以称为控件):例如,TextViewButton
  • 视图 view

    • 就是 xml 文件里的每个节点,对应页面上的元素;
    • 共有属性
      • layout_width / layout_height: layout_width 定义控件的宽度, layout_height 定义控件的高度;
      • text
      • id
      • gravity:表明控件本身的放置位置;
      • layout_gravity:表明控件本身在父布局中的位置;
      • Background
  • 布局容器

    • RelativeLayout(相对布局)

      • 通过定义视图之间的相对关系来确定它们的位置;
      • 定位视图的方式
        • 相对位置;
        • 对齐方式;
        • 边距;
      • 视图的位置是相对于其他视图或父容器而言的;
        • 可以通过属性来指定视图之间的相对位置/将视图居中对齐/设置视图的边距和相对位置;
    • LinearLayout(线性布局)

      • 它将视图按照水平android:orientation="horizontal")或垂直android:orientation="vertical")方向进行线性排列;
      • 默认情况下,视图按照它们在 XML 文件中的顺序进行排列,但可以使用 android:layout_gravity 属性来设置视图在布局中的对齐方式;
  • View 的继承关系

    • android 中所有的 view 都继承自 View;
  • view 与 ViewGroup 的关系

    • ViewGroup 可以包含子view 或者子ViewGroup
    • 区分:里面能包含子view或者子ViewGroup 的就是 ViewGroup,不能的就是 view
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个写代码的修车工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值