线性布局LinearLayout是指在横向或是竖向一个接一个地排列。当排列的组件超出屏幕后,超出的组件将不会再显示出来。

LinearLayout支持的XML属性和相应方法如表所看到的:

Attribute Name

Related Method

Description

android:baselineAligned

setBaselineAligned(boolean)

若设置为false,将阻止该布局管理器与它的子元素的基线对齐

android:baselineAlignedChildIndex

setBaselineAlignedChildIndex(int)

指定以那个子元素的基线对齐

android:divider

setDividerDrawable(Drawable)

设置垂直布局时两个button之间的分隔条

android:gravity

setGravity(int)

设置布局管理器内组件的对齐方式

android:measureWithLargestChild

setMeasureWithLargestChildEnabled(boolean)

若设置为true,全部的子组件将具有最大子元素的最小尺寸

android:orientation

setOrientation(int)

设置布局管理器内组件的排列方向

android:weightSum

 

定义权重总和的最大值

 

 

Orientation 属性能够设置为horizontal或vertical

Gravity 属性能够设置为top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。

一个属性能够包括多个值。需用“|”连起来。其含义例如以下:

top

将对象放在其容器的顶部。不改变其大小.

bottom

将对象放在其容器的底部,不改变其大小.

left

将对象放在其容器的左側,不改变其大小.

right

将对象放在其容器的右側,不改变其大小.

center_vertical

 垂直对齐方式:垂直方向上居中对齐。

fill_vertical

垂直方向填充

center_horizontal

水平对齐方式:水平方向上居中对齐

fill_horizontal

水平方向填充

center

将对象横纵居中,不改变其大小.

fill

必要的时候添加对象的横纵向大小,以全然充满其容器.

clip_vertical

附加选项,用于依照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时。剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部.

垂直方向裁剪

clip_horizontal

附加选项,用于依照容器的边来剪切对象的左側和/或右側的内容. 剪切基于其横向对齐设置:左側对齐时,剪切右側;右側对齐时剪切左側。除此之外剪切左側和右側.

水平方向裁剪

 

LinearLayout.LayoutParams负责控制线性布局管理器内部的子元素。

子元素支持的XML属性例如以下

android:layout_gravity:指定该子元素在布局管理器中的对齐方式

android:layout_weight:指定该子元素在布局管理器中所占的权重

 

属性中layout_shenmu的都是控制子元素的。

Android学习笔记(11):线性布局LinearLayout的更多相关文章

  1. Android学习笔记④——页面的布局方式

    FrameLayout(帧布局) 这个布局的特点是简单的默认把每一个视图组件都放在边框内且放在左上角,即使添加多个视图组件,他们也都是重叠在左上角,新的视图会遮挡住旧的视图.可以根据gravity来改 ...

  2. android学习笔记11——ScrollView

    ScrollView——滚动条 用于内容显示不全,可提供滚动条下来形式,显示其余内容. ScrollView和HorizontalScrollView是为控件或者布局添加滚动条 特点如下: 1.只能有 ...

  3. android学习笔记三--Activity 布局

    1.线性布局 标签 :<LinearLayout></LinearLayout> 方向:android:orientation, 垂直:vertical 水平:Horizont ...

  4. Android学习笔记:FrameLayout布局基础

    FrameLayout布局的特点是:所有放在布局里的视图组件,都按照层次堆叠在屏幕的左上角,后面的视图组件覆盖前面的. 当然,组件本身是可以控制自己的内部布局的. 一种常见的场景是可以在FrameLa ...

  5. Android学习笔记(14):相对布局RelativeLayout

    相对布局RelativeLayout,继承自ViewGroup.相对布局的子组件的位置总是相对于兄弟组件或者父容器决定的. RelativeLayout支持的XML属性: android:gravit ...

  6. 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout

    目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...

  7. 【转】Pro Android学习笔记(二三):用户界面和控制(11):其他控件

    目录(?)[-] Chronometer计时器控件 倒计时CountDownTimer Switch控件 Space控件 其他控件 Android提供了很多控件,基本上都是view的扩展. Chron ...

  8. Android Studio 学习笔记(二):布局简介和xmlns说明

    初学Android Studio,是在b站看的教程视频,这里的笔记也是以其为基础的,个人强烈安利: [天哥]Android开发视频教程最新版 Android Studio开发 Android 布局简介 ...

  9. Android 自学之线性布局 LinearLayout

    线性布局(LinearLayout),线性布局有点想AWT编程里面的FolwLayout,他们都会将容器里面的组件挨个的排列起来. 他们最大的区别在于:Android的线性布局不会换行:AWT里面的F ...

随机推荐

  1. ThinkPHP中如何获取指定日期后工作日的具体日期

    思路: 1.获取到查询年份内所有工作日数据数组2.获取到查询开始日期在工作日的索引3.计算需查询日期索引4.获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_workday ...

  2. 并行(多进程)-python

    1.进程创建 2.当前进程信息 使用current_process可获得当前进程的信息: (1)引入:from multiprocessing import current_process (2)获取 ...

  3. html----属性操作

    1.文本 十六进制值 - 如: #FF0000 一个RGB值 - 如: RGB(255,0,0) 颜色的名称 - 如:  red‘’RGBA() 2.水平对齐方式 text-align 属性规定元素中 ...

  4. Hibernate之一级缓存和二级缓存

    1:Hibernate的一级缓存: 1.1:使用一级缓存的目的是为了减少对数据库的访问次数,从而提升hibernate的执行效率:(当执行一次查询操作的时候,执行第二次查询操作,先检查缓存中是否有数据 ...

  5. laravel5 项目上线后务必将开发环境更改为生产环境

    如果以开发环境上线,出错信息将全通过json暴露出来了,屏蔽方式如下: .env 文件设置如下APP_ENV=productionAPP_DEBUG=false 改完设置后把缓存清理一遍 如果更改后清 ...

  6. 洛谷 P1507 NASA的食物计划 【二维费用背包】 || 【DFS】

    题目链接:https://www.luogu.org/problemnew/show/P1507 题目背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力 ...

  7. QT学习之菜单栏与工具栏

    QT学习之菜单栏与工具栏 目录 简单菜单栏 多级菜单栏 上下菜单栏 工具栏 简单菜单栏 程序示例 from PyQt5.QtWidgets import QApplication, QMainWind ...

  8. RabbitMQ消息可靠性分析和应用

    RabbitMQ流程简介(带Exchange) RabbitMQ使用一些机制来保证可靠性,如持久化.消费确认及发布确认等. 先看以下这个图: P为生产者,X为中转站(Exchange),红色部分为消息 ...

  9. class.forName的作用?

    调用该访问 返回一个以字符串指定类名的类的对象. 返回字节码,返回字节码的方式有几种: ①:这份字节码曾经被加载过已经存在java虚拟机中了直接返回. ②:java虚拟机中还没有这份字节码,用类加载器 ...

  10. C#:几种数据库的大数据批量插入(转)

    在之前只知道SqlServer支持数据批量插入,殊不知道Oracle.SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解 ...