线性布局(LinearLayout)的使用

  • 背景

    • 尽管现在有了很多第三方封装的更加合适的布局定义。(各个地区随着人们的接受程度各不相同)但是作为官方提供的最先的几大布局,学习一下是必要的,因为很多布局都是在这些的基础上开发出来的。
    • 最基础的有六大布局,分别为LinearLayout(线性布局)、TableLayout(表格布局)、FrameLayout(帧布局)、RelativeLayout(相对布局)、GridLayout(网格布局)以及AbsoluteLayout(绝对布局)。在近年来,官方又主推了一种新的布局ConstraintLayout(约束布局)。
    • 首先接触的是开发中最常用最简单的布局之一—线性布局(linearlayout)。
  • 什么是线性布局
    • 线性布局由 LinearLayout类实现,它可以控制各组件横向或纵向排列。简单来说是向一个方向不断排列组件的布局。布局之间可以嵌套。
  • 常见属性
    • android:orientation

      • 这是最核心的属性,控制组件的排列方向,只有两个值 horizontal(水平排列)和vertical(垂直排列)。
      • 简单测试一下。(添加了三个按钮)
        •   <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.zc.helloworld.MainActivity"android:orientation="vertical"><Buttonandroid:id="@+id/btn_01"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="I am Button"/><Buttonandroid:id="@+id/btn_02"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="I am Button"/><Buttonandroid:id="@+id/btn_03"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="I am Button"/></LinearLayout>
          
      • 两种效果如下。
        • 水平

        • 垂直
    • android:gravity
      • 设置组件的对齐方式,影响范围是该布局内部的每一个组件。属性值可设为 top(顶部对齐) 、bottom(底部对齐) 、left(左对齐) 、right(右对齐) 、center_vertical(垂直方向居中) 、 fill_vertical(垂直方向填充) 、 center_horizontal(水平方向居中) 、 fill_horizontal(水平方向填充) 、center(垂直与水平方向都居中) 、 fill (填充)、  clip_vertical(垂直方向裁剪) 、  clip_horizontal(水平方向裁剪) 。

      • 可以多个属性串联用"|"隔开。

      • 在上面代码排列方向后添加一行。

        • android:gravity="center"
      • 效果如下。

    • android:baselineAligned
      • 该属性设为 false ,该布局管与它的子元素的基线对其会失效。
    • android:divider
      • 设置垂直布局时两个按钮直接的分隔条。
    • android:measureWithLargestChild
      • 该属性设为 true 时,所有带权重的子元素都会具有最大子元素的最小尺寸。
  • 子元素属性
    • android:layout_gravity

      • 指定该子元素在 LinearLayout 中的对其方式。
    • android:layout_weight
      • 指定该子元素在 LinearLayout 中所占的权重。

安卓入门系列-04常见布局之LinearLayout(线性布局)相关推荐

  1. 安卓入门系列-05常见布局之RelaiveLayout(相对布局)

    相对布局(RelativeLayout)的使用 背景 接着上一篇提到的线性布局,如果说线性布局是遵循一种顺序排放,一处存在一个组件就不会存在另一个.那么相对布局则是位置上的相对关系(对于其他组件),不 ...

  2. 常见界面布局之LinearLayout线性布局

    1.什么是LinearLayout线性布局 LinearLayout (线性布局)通常指定布局内的子控件水平或者轻直排列.在XML布局文件中定义线性布局的基本语法格式如下: <LinearLay ...

  3. 安卓入门系列-06常见布局之ConstraintLayout(约束布局)

    约束布局(ConstraintLayout)的使用 背景 之前已经提到了六大基础布局的最常见的两种,其余四种百度都有完整的教程,不多提及了.但是在布局的最后想提一下这个突然崛起的约束布局. 很多人说现 ...

  4. Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件...

    UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放 ...

  5. 精通android布局,Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件...

    标题图 UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个 ...

  6. Android 应用开发(36)---LinearLayout(线性布局)

    LinearLayout(线性布局) 本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),Table ...

  7. 【Android 】零基础到飞升 | LinearLayout(线性布局)

    2.2.1 LinearLayout(线性布局) 本节引言 本节开始讲Android中的布局,Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout( ...

  8. 安卓入门系列-09一个实战小项目(备忘录Memo)

    一个简单的安卓平台下的备忘录 背景 之前已经介绍了不少的控件(TextView和ListView等等)以及开发中最常见的组件(Activity)(Service的权重在我心中没有Activity重要, ...

  9. Android零基础入门第25节:最简单最常用的LinearLayout线性布局

    原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...

最新文章

  1. AI一分钟 | 传阿里暂停在美扩张云业务;Google发布AI工具以识别儿童性侵犯图片...
  2. 0x12.基本数据结构 — 队列与单调队列
  3. R语言ggplot2可视化:水平半小提琴图(Horizontal Half Violin Plots)、去除水平半小提琴图中的填充色、ggridges包的绘制山脊图
  4. 抛硬币直到若干次(k次)连续正面向上的概率
  5. 二叉树的几种递归和非递归式遍历:
  6. 1091. Acute Stroke (30)
  7. R-CNN系列学习笔记
  8. ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别
  9. phpstudy mysql优化_MySQL_MySQL优化之对RAND()的优化方法,众所周知,在MySQL中,如果直 - phpStudy...
  10. Requirejs与r.js打包,AMD、CMD、UMD、CommonJS、ES6模块化
  11. VC 实现文件夹属性的获取与更改
  12. 反射生成 INSERT 多个对象的 SQL 语句(批量插入)
  13. kafka的消费者客户端偏移的维护
  14. Python学习笔记(六)—几个标准类型内建函数
  15. [Bzoj3233][Ahoi2013]找硬币[基础DP]
  16. ubuntu修改源为阿里云
  17. 黑鲨重装计算机安装无法继续,黑鲨装机大师一键重装系统失败
  18. 20170306 小兵的觉悟就是好好吃饭
  19. 全方位解读数字转型在企业产业变革中发挥的作用!
  20. Testbench的激励添加和书写技巧

热门文章

  1. MySQL通信类型:同步或者异步
  2. 初步认识Volatile-CPU层面的内存屏障
  3. MyBatis 源码解读-配置解析过程
  4. MyBatis 实际使用案例-核心对象的生命周期
  5. AOP 中必须明白的概念-切面(Aspect)
  6. 缓存-分布式锁-Redisson-读写锁补充
  7. SpringCloud:Zuul 路由访问(基本使用、路由功能、过滤访问、服务降级)
  8. java 直播服务器_MyLive--使用JAVA实现的直播RTMP服务器
  9. 201101shell脚本
  10. scanf与gets的区分