五种布局方式

2024-06-16 15:18
文章标签 布局 方式 五种

本文主要是介绍五种布局方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

线性布局

LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列。

LinearLayout本身常用到的两个属性

android:orientation=”vertical”----该属性决定他子类控件的排布方式(vertical:垂直;horizontal:水平)

android:gravity=”center”----该属性决定他子类的xy的位置。

常用到的几个属性值:

center_vertical:垂直(Y轴)居中

center_horizontal:水平(X轴)居中

center:水平垂直都居中

right:子类控件位于当前布局的右边

left:子类控件位于当前布局左边

bottom:子类控件位于当前布局下面

gravity属性可以多级连用,例如:android:gravity="bottom|center"

子类控件在LinearLayout中常用到的属性

android:layout_gravity=”bottom” ----指本身在当前父类容器的XY的一个位置

android:layout_weight=”1” ----指本身控件占当前父容器的一个比例

相对布局

RelativeLayout是相对布局控件,它包含的子控件将以控件之间的相对位置或子类控件相对父类容器的位置的方式排列。

帧布局FrameLayout

在这个布局中,所有子元素都不能被指定放置的位置,他们统统放在这个区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。

绝对布局

AbsoluteLayout又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy

由于手机屏幕尺寸差别较大

使用绝对定位的适应性较差,在屏幕的适配上有较大缺陷

AbsoluteLayout子控件的属性

android:layout_x = “35dp”----控制当前子类控件的x位置

android:layout_y = “40dp”----控制当前子类控件的y位置

表格布局

TableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View对象。

TableLayout的属性(全局属性)

android:collapseColumns=”1,2”

隐藏从0开始的索引列。列之间必须用逗号隔开:1,2,5

android:shrinkColumns=”1,2”

收缩从0开始的索引列。当可收缩的列太宽(内容过多)不会被挤出屏幕,列之间必须用逗号隔开,也可以通过“*”代替收缩所有列。注意一列能同时表示收缩和拉伸。

android:stretchColumns=”1,2”

拉伸从0开始的索引列,以填满剩下的多余空白空间,列之间必须用逗号隔开,也可以使用“*”代替拉伸所有列,注意一列能同时表示收缩和拉伸。

TableLayout的局部属性(内部控件所用属性)

android:layout_column=”1”----该控件显示在第二列

android:layout_span=”2”----该控件占据2列。

 

这篇关于五种布局方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066802

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

Java 多线程的基本方式

Java 多线程的基本方式 基础实现两种方式: 通过实现Callable 接口方式(可得到返回值):

前端form表单+ifarme方式实现大文件下载

// main.jsimport Vue from 'vue';import App from './App.vue';import { downloadTokenFile } from '@/path/to/your/function'; // 替换为您的函数路径// 将 downloadTokenFile 添加到 Vue 原型上Vue.prototype.$downloadTokenF

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器