当前位置: 首页 > news >正文

Android 基础知识4-2.6LinearLayout(线性布局)

一、LinearLayout的概述

        线性布局(LinearLayout)主要以水平或垂直方式来排列界面中的控件。并将控件排列到一条直线上。在线性布局中,如果水平排列,垂直方向上只能放一个控件,如果垂直排列,水平方向上也只能方一个控件。

在这里插入图片描述

使用线性布局,需要将布局节点改成LinearLayout,基本格式如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent">......</LinearLayout>

二、LinearLayout常用属性

常用到的属性简单归纳一下:

属性1:android:orientation    指定线性布局的方向(水平或者垂直)

属性2:android:width             线性布局的容器宽度

属性3:android:height           线性布局的容器高度

属性4:android:background  线性布局的背景

属性5:android:gravity          线性布局中,子容器相对于父容器所在的位置

2.0 常见属性

2.属性值:

android:width="xxxdp"                          指定线性布局的容器宽度为:xxxdp

android:width="wrap_content"             指定线性布局的容器宽度为:根据容器内容宽度大小来填充屏幕宽度

android:width="match_parent"             指定线性布局的容器宽度为:撑满整个屏幕宽度

3.属性值:

android:height="xxxdp"                          指定线性布局的容器高度为:xxxdp

android:height="wrap_content"             指定线性布局的容器高度为:根据容器内容高度大小来填充屏幕高度

android:height="match_parent"             指定线性布局的容器高度为:撑满整个屏幕高度

4.属性值:

android:background="#000"                  指定线性布局的背景为:黑色(rgb颜色)

android:background="@android:color/black"   指定线性布局的背景为:黑色(引用android系统自带的原始黑色)

andrid:background="@color/colorPrimary"   指定线性布局的背景为:(根据res/color.xml 中的colorPrimary所定义的颜色设置)

2.1 orientation 属性

       在线性布局中,控件排列有水平和垂直两个方向,控件排列方向由android:orientation属性来控制,该属性需要加在LinearLayout标记的属性中。属性值:

android:orientation="horizontal"        指定线性布局方向:水平

android:orientation="vertical"        指定线性布局方向:垂直            

         从上图可以看出,将orientation属性值设置成为vertical控件将从垂直方向从上往下排列,将orientation属性值设置成为horizontal,控件将从水平方向从左往右排列。

2.2 gravity 属性

android:gravity="center"      指定线性布局中,子容器相对于父容器所在的位置为:正中心

android:gravity="cente_verticalr"      指定线性布局中,子容器相对于父容器所在的位置为:垂直方向的正中心

android:gravity="center_horizontal"      指定线性布局中,子容器相对于父容器所在的位置为:水平方向的正中心

android:gravity="left"      指定线性布局中,子容器相对于父容器所在的位置为:最左边(默认)

android:gravity="right"      指定线性布局中,子容器相对于父容器所在的位置为:最右边

android:gravity="top"      指定线性布局中,子容器相对于父容器所在的位置为:最上方(默认)

android:gravity="bottom"      指定线性布局中,子容器相对于父容器所在的位置为:最下方

        如上图:使用gravity属性值right|bottom,将LinearLayout布局中的控件放置于相对于父容器的右侧下方。

         线性方向:水平,可以通过控件的android:layout_gravity属性的值来改变控件在垂直方向上的位置。

         同理,线性方向:垂直,可以通过控件的android:layout_gravity属性的值来改变控件在水平方向上的位置。

2.3  layout_weight 属性

        LinearLayout中另外一个常用的属性是layout_weight ,该属性需要加在LinearLayout子控件中。其作用是分配线性布局中的剩余空间到该控件上。

       如下图所示,在控件没有添加layout_weight 属性时,控件未占满线性布局的区域会空出来。

在这里插入图片描述

 给控件button2加上android:layout_weight="1"后,会把线性布局剩余空间全部占满。

在这里插入图片描述

 如果给button1button2都加上android:layout_weight="1",则两个控件均匀分配剩余空间。

 在这里插入图片描述

         

         如果给button1加上android:layout_weight="3"button2加上android:layout_weight="1",则会实现将剩余的空间button1:button2会按照3:1的比例来分配这些剩余的空间。

在这里插入图片描述

 注意:剩余布局大小 = 父布局大小 - 子布局大小之和

  layout_weight权重属性,主要是用来分配控件排列会剩余的空间,而且也会根据属性值的大小来分配,比如view1的android:layout_weight="3",view2的android:layout_weight="2",那么剩余空间的分配就是view1:view2 是 3:2 。

相关文章:

Android 基础知识4-2.6LinearLayout(线性布局)

一、LinearLayout的概述 线性布局&#xff08;LinearLayout&#xff09;主要以水平或垂直方式来排列界面中的控件。并将控件排列到一条直线上。在线性布局中&#xff0c;如果水平排列&#xff0c;垂直方向上只能放一个控件&#xff0c;如果垂直排列&#xff0c;水平方向上也只能…...

补充前端面试题(三)

图片懒加载<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, in…...

.net开发安卓入门-自动升级(配合.net6 webapi 作为服务端)

文章目录思路客户端权限清单&#xff08;AndroidManifest.xml&#xff09;权限列表(完整内容看 权限清单&#xff08;AndroidManifest.xml&#xff09;&#xff09;打开外部应用的权限(完整内容看 权限清单&#xff08;AndroidManifest.xml&#xff09;&#xff09;添加文件如下…...

分享111个HTML艺术时尚模板,总有一款适合您

分享111个HTML艺术时尚模板&#xff0c;总有一款适合您 111个HTML艺术时尚模板下载链接&#xff1a;https://pan.baidu.com/s/1sYo2IPma4rzeku3yCG7jGw?pwdk8dx 提取码&#xff1a;k8dx Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 时尚理发沙龙服务网站模…...

spring之Spring AOP基于注解

文章目录前言一、Spring AOP基于注解的所有通知类型1、前置通知2、后置通知3、环绕通知4、最终通知5、异常通知二、Spring AOP基于注解之切面顺序三、Spring AOP基于注解之通用切点三、Spring AOP基于注解之连接点四、Spring AOP基于注解之全注解开发前言 通知类型包括&#x…...

LeetCode题目笔记——6362. 合并两个二维数组 - 求和法

文章目录题目描述题目链接题目难度——简单方法一&#xff1a;常规双指针遍历代码/Python方法二&#xff1a;字典\哈希表代码/Python总结题目描述 给你两个 二维 整数数组 nums1 和 nums2. nums1[i] [idi, vali] 表示编号为 idi 的数字对应的值等于 vali 。nums2[i] [idi, …...

【C#基础】C# 常用语句讲解

序号系列文章3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用5【C#基础】C# 运算符总结文章目录前言语句概念1&#xff0c;迭代语句1.1 for 语句1.2 foreach 语句1.3 while 语句1.4 do 语句2&#xff0c;选择语句2.1&#xff0c;if 语句2.2&#xff0c;else 语句2.3…...

腾讯云——负载均衡CLB

负载均衡 CLB 提供四层&#xff08;TCP 协议/UDP 协议/TCP SSL 协议&#xff09;和七层&#xff08;HTTP 协议/HTTPS 协议&#xff09;负载均衡。您可以通过 CLB 将业务流量分发到多个后端服务器上&#xff0c;消除单点故障并保障业务可用性。CLB 自身采用集群部署&#xff0c;…...

6.关于系统服务的思考—— native vs java

文章目录native服务 以sensor service为例Native 服务java 服务&#xff0c; 以vibrate为例java 服务 以一个demo为例native服务 以sensor service为例 service启动 SystemServer.startBootstrapServices---->>>mSystemServiceManager.startService—>>>Sen…...

SQL语句创建视图:

前言 &#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏: &#x1f354;&#x1f35f;&#x1f32f; c语言初阶 &#x1f511;个人信条: &#x1f335;知行合一 &#x1f349;本篇简介:>:介绍数据库中有关视图的知识,参考学校作业. 金句分享:…...

使用BP神经网络和Elman Net预测航班价格(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密…...

JavaWeb9-volatile解决内存可见性和指令重排序问题

目录 1.解决内存可见性问题 2.解决指令重排序问题 3.volatile缺点 4.特使使用场景 volatile&#xff08;易变的&#xff0c;易挥发的&#xff0c;不稳定的&#xff09;可以解决内存可见性和指令重排序的问题。 1.解决内存可见性问题 代码在写入 volatile 修饰的变量时&am…...

Docker - 镜像操作命令

镜像名称一般分为两部分组成:[repository]:[tag]在没有指定tag时&#xff0c;默认是latest&#xff0c;代表最新版本的镜像1.下载docker镜像 docker pull repository:tag2.查看本地所有镜像 docker images3.创建镜像别名 docker tag repository:tag repository111:tag4.查看镜像…...

全栈之路-前端篇 | 第三讲.基础前置知识【前端标准与研发工具】学习笔记

欢迎关注「全栈工程师修炼指南」公众号 点击 &#x1f447; 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习&#xff01; 涉及 企业运维、网络安全、应用开发、物联网、人工智能、大数据 学习知识 “ 花开堪折直须折&#xff0c;莫待无花…...

Tomcat 线上调优记录

原始Tomcat配置 启动参数Plaintext-Xms256m -Xmx512m -XX:MaxPermSize128m Tomcat 参数配置XML<Executor name"tomcatThreadPool" namePrefix"catalina-exec-" maxThreads"1500" minSpareThreads"50" maxIdleTime"600000&q…...

学习 Python 之 Pygame 开发坦克大战(四)

学习 Python 之 Pygame 开发坦克大战&#xff08;四&#xff09;坦克大战添加音效1. 初始化音效2. 加入游戏开始音效和坦克移动音效3. 添加坦克开火音效4. 添加装甲削减音效5. 添加坦克爆炸音效6. 添加子弹击中边界音效坦克大战添加音效 我的素材放到了百度网盘里&#xff0c;…...

New和Malloc的使用及其差异

1&#xff0c;new的使用关于new的定义&#xff1a;new其实就是告诉计算机开辟一段新的空间&#xff0c;但是和一般的声明不同的是&#xff0c;new开辟的空间在堆上&#xff0c;而一般声明的变量存放在栈上。通常来说&#xff0c;当在局部函数中new出一段新的空间&#xff0c;该…...

2023年细胞生物学复习汇总

细胞分化 1.什么是细胞分化&#xff1f;细胞分化的特点是什么&#xff1f; 答&#xff1a;&#xff08;1&#xff09;细胞分化&#xff08;cell differentiation&#xff09;是指同一来源的细胞逐渐产生出形态结构、功能特征各不相同的细胞类群的过程&#xff0c;其结果是在空间…...

光伏VSG-基于虚拟同步发电机的光伏并网逆变器系统MATLAB仿真

采用MATLAB2021b仿真&#xff01;&#xff01;&#xff01;仿真模型1光伏电池模块&#xff08;采用MATLAB自带光伏模块&#xff09;、MPPT控制模块、升压模块、VSG控制模块、电流滞环控制模块。2s时改变光照强度 &#xff01;&#xff01;&#xff01;VSG输出有功功率、无功功率…...

高可用 - 02 Keepalived_VRRP工作原理

文章目录Keepalived VS HeartbeatKeepalived的用途VRRP与工作原理物理路由器和虚拟路由器Keepalived VS Heartbeat Keepalived是Linux下一个轻量级的高可用解决方案&#xff0c;它与Heartbeat、RoseHA实现的功能类似&#xff0c;都可以实现服务或者网络的高可用&#xff0c;但…...

BigDL-2.x DLlib深度指南:用Spark DataFrames构建分布式深度学习应用

BigDL-2.x DLlib深度指南&#xff1a;用Spark DataFrames构建分布式深度学习应用 【免费下载链接】BigDL-2.x BigDL: Distributed TensorFlow, Keras and PyTorch on Apache Spark/Flink & Ray 项目地址: https://gitcode.com/gh_mirrors/bi/BigDL-2.x BigDL-2.x是一…...

突破平台局限:AirPods跨平台体验增强方案全解析

突破平台局限&#xff1a;AirPods跨平台体验增强方案全解析 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPodsDesktop AirPodsDesktop是一…...

Qwen-Image-Edit-F2P实战:QT图形界面开发指南

Qwen-Image-Edit-F2P实战&#xff1a;QT图形界面开发指南 1. 学习目标与前置准备 今天咱们来聊聊怎么用QT给Qwen-Image-Edit-F2P模型做个图形界面。这个模型挺有意思的&#xff0c;它能根据一张人脸照片生成全身像&#xff0c;比如你把自拍照传进去&#xff0c;它能给你生成在…...

不升级系统也能用VSCode远程开发:老版本Linux的glibc兼容方案大全

老版本Linux系统下VSCode远程开发的五大兼容方案 在企业开发环境中&#xff0c;生产服务器往往运行着CentOS 7或Ubuntu 18.04等长期支持版本&#xff0c;这些系统的glibc库版本可能无法满足最新VSCode远程开发组件的需求。本文将深入探讨五种无需升级系统即可解决glibc兼容性问…...

中微半导体冲刺港股:年营收11亿 利润2.8亿 周彦套现3.47亿

雷递网 雷建平 4月5日中微半导体( 深圳)股份有限公司&#xff08;简称&#xff1a;“中微半导体”&#xff09;日前递交招股书&#xff0c;准备在港交所上市。中微半导体2022年8月在科创板上市&#xff0c;发行6300万股&#xff0c;发行价为30.86元&#xff0c;募资总额19.44亿…...

重构数字桌面:2025年macOS菜单栏管理工具全解析

重构数字桌面&#xff1a;2025年macOS菜单栏管理工具全解析 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice 问题溯源&#xff1a;为什么你的菜单栏变成了数字垃圾场&#xff1f; 当我们每天打开Mac…...

手把手教你用Postman调试DolphinScheduler 3.x创建任务API(附数据库查Code指南)

手把手教你用Postman调试DolphinScheduler 3.x创建任务API&#xff08;附数据库查Code指南&#xff09; 在分布式任务调度系统的日常运维中&#xff0c;API调试是开发者和运维人员必须掌握的硬核技能。DolphinScheduler作为一款开源的分布式易扩展可视化工作流任务调度平台&…...

雷达导论PART I.2 核心原理与信号处理 2024-1-18

1. 雷达信号处理的核心原理 雷达系统通过发射电磁波并接收目标反射的回波信号来探测目标信息。这个看似简单的过程背后&#xff0c;其实蕴含着丰富的物理原理和精妙的信号处理技术。我们先从最基础的多普勒效应说起。 多普勒效应是雷达测速的核心原理。当目标与雷达之间存在相对…...

正交编码器信号处理避坑指南:ESP32 PCNT模块的6个关键配置参数详解

正交编码器信号处理避坑指南&#xff1a;ESP32 PCNT模块的6个关键配置参数详解 在工业自动化和机器人控制系统中&#xff0c;正交编码器作为核心的位置反馈元件&#xff0c;其信号处理的可靠性直接决定了整个系统的精度。ESP32内置的PCNT&#xff08;Pulse Counter&#xff09;…...

机器学习周报三十九

文章目录摘要Abstract1.TurboDiffusion1.1 注意力改进1.2蒸馏模型1.3权重量化2 训练和推理2.1 训练阶段2.2 推理阶段3 Make It Count3.1数据集3.2损失函数总结摘要 本周阅读了清华大学的论文《TurboDiffusion: Accelerating Video Diffusion Models by 100–200 Times》&#…...