Android布局详解

Android Relative Layout 安卓相对布局详解 思维导图可在幕布找到 1. 基础 如果在相对布局里,控件没有指明相对位置,则默认都是在相对布局的左上角: <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#FF00FF" and... 阅读详情

布局:  

  在 android 中我们常用的布局方式有这么几种:

1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角)

                                           线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation=" horizontal "   android:orientation= "vertical" 。

 2.RelativeLayout ( 相对布局 ) :(里面可以放多个控件,但是一行只能放一个控件) 

附加几类 RelativeLayout 的属性供大家参考:

第一类 : 属性值为 true 或 false

android:layout_centerHrizontal                   水平居中

android:layout_centerVertical                     垂直居中

android:layout_centerInparent                    相对于父元素完全居中

android:layout_alignParentBottom              贴紧父元素的下边缘

android:layout_alignParentLeft                    贴紧父元素的左边缘

android:layout_alignParentRight                  贴紧父元素的右边缘

android:layout_alignParentTop                    贴紧父元素的上边缘

android:layout_alignWithParentIfMissing   若找不到兄弟元素以父元素做参照物

 

第二类:属性值必须为 id 的引用名“ @id/id-name ”

android:layout_below                          在某元素的下方

android:layout_above                          在某元素的上方

android:layout_toLeftOf                       在某元素的左边

android:layout_toRightOf                     在某元素的右边

android:layout_alignTop              本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft             本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom       本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight           本元素的右边缘和某元素的的右边缘对齐

 

第三类:属性值为具体的像素值,如 30dip , 40px

android:layout_marginBottom              离某元素底边缘的距离

android:layout_marginLeft                    离某元素左边缘的距离

android:layout_marginRight                  离某元素右边缘的距离

android:layout_marginTop                     离某元素上边缘的距离

 

 

 

          3.TableLayout ( 表格布局 ) :(这个要和TableRow配合使用,很像html里面的table)

 

这个表格布局不像HTML中的表格那样灵活,只能通过 TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。如:

                                                    <TableLayout>

<TableRow>

                                                              <EditText></EditText>

                                                              <EditText></EditText>

</TableRow>

<TableRow>

                                                               <EditText></EditText>

                                                               <EditText></EditText>

</TableRow>

</TableLayout>

表示两行两列的一个表格。

 

 

android:gravity="center" 书面解释是权重比。其时就是让它居中显示。它还可以动态添加里面的每行每列。如下代码所示:

/*根据id查找表格对象*/

TableLayout tableLayout = (TableLayout) findViewById(R.id.table01);

/*创建列对象*/

TableRow tableRow = new TableRow(this);

/*文本框对象*/

TextView temp = new TextView(this);

temp.setText("text的值");

/*将此文本添加到列中*/

tableRow.addView(temp);

android:stretchColumns="1,2,3,4" 它的意思就是自动拉伸1,2,3,4列。

                                                   

4.AbsoluteLayout ( 绝对布局 ) :(里面可以放多个控件,并且可以自己定义控件的x,y的位置)

5.FrameLayout ( 帧布局 ) :(里面可以放多个控件,不过控件的位置都是相对位置)

                               在它里面的控件都是按后面的一个控件叠加在前一个控件上来显示的,所有元素都被放置在最左上角。如:

                                     <FrameLayout android:layout_width="wrap_content"

                                                        android:layout_height="wrap_content" android:layout_weight="1">

                                              <ImageView android:id="@+id/iv1" android:layout_width="wrap_content"

                                                            android:layout_height="wrap_content" android:visibility="invisible"

                                                            android:src="@drawable/lotusleaf"></ImageView>

                                             <ImageView android:id="@+id/f1" android:layout_width="wrap_content"

                                                            android:layout_height="wrap_content" android:src="@drawable/frog_right"

                                                            android:visibility="invisible"></ImageView>

                                         </FrameLayout> 

表示的是id为f1的控件叠加在id为iv1的控件上面显示

 

          (LinearLayout 和 RelativeLayout 应该又是其中用的较多的两种。AbsoluteLayout 比较少用,因为它是按屏幕的绝对位置来布局的如果屏幕大小发生改变的话控件的位置也发生了改变。这个就相当于HTML中的绝对布局一样,一般不推荐使用 )  

 

 

 注意事项:

1 、各布局不要乱用各自的属性。比如把属于 AbsoluteLayout 布局的android:layout_x和android:layout_y用到 LinearLayout 布局或 RelativeLayout 布局,或者把 RelativeLayout 布局的 below , rightof 等属性应用到其他布局中。这样做虽然不会报错,但这是白浪费感情的工作,根本达不到我们需要的效果。

2 、关于android:layout_width="fill_parent" 和 android:layout_height="wrap_content" ,这是对每个布局宽和高的设置。 wrap_content可表示随着其中控件的不同而改变这个布局的宽度或高度,类似于自动设置宽和高, fill_parent 使布局填充整个屏幕,另外还有一种 match_parent,它本质上和 fill_parent 一样,并从 API  Level8 开始替代fill_parent。

安卓五大布局详解 文章目录通用属性RelativeLayout 相对布局LinearLayout 线性布局TableLayout 表格布局FrameLayout帧布局ConstraintLayout 约束布局 1 添加目录只需要在博客最前边添加 在安卓中为了适应不同的界面风格,系统提供了五种布局分别是:线性布局 LinearLayout,帧布局 FrameLayout,相对布局 RelativeLayout,表格布局 TableLayout和约束布局 ConstrainLayout。 通用属性 这几个布局拥有通用的属性 阅读详情

相关推荐

Android开发Android Studio六大基本布局详解

本文详解Android Studio六大基本布局。

qq_30725967的博客 4084

android 安卓布局,安卓(android)六大布局详解

线性布局:(LinearLayout)layout_width:fill_parent;match_parent;wrap_contentlayout_height:layout_weight:如果设置成wrap_content,权重越大得到越大如果设置成fill_parent,权重越大得到越小orientation:horizontal,vertical(垂直)gravity:子空间或者显示内容...

weixin_32171133的博客 223

Android LinearLayout线性布局详解

以上示例中,我们创建了一个水平方向的LinearLayout,并通过layout_weight属性指定了Button的权重比例。LinearLayout内部的子视图会按照添加的顺序依次显示,并且可以通过权重属性来控制宽度或高度的分配比例。通过本文的介绍,我们了解到LinearLayout是Android开发中常用的布局方式之一。同时,权重属性的使用使得子视图的宽度或高度可以按照一定的比例进行分配。以上示例中,我们创建了一个垂直方向的LinearLayout,并设置了居中对齐的属性。

2301_79326930的博客 536

Android界面布局基础,安卓界面布局的基本属性详解

android:id 为控件指定相应的IDandroid:text 指定控件的文本,置尽量使用strings.xmlandroid:grivity 指定控件的基本位置 ,比如举重,居右,android:padding 指定控件的内边距,控件当中的内容android:singleLine 如果设置为真的话,则将控件的内容在同一行当中显示android:layout_above 将该空间的底部至于给定...

weixin_36244678的博客 321

告别卡顿!用U盘给你的MacBook Pro 2015+来一次macOS Monterey的‘大扫除’式安装

每次系统升级后,老款MacBook Pro用户最常抱怨的就是"怎么比之前更卡了?"——这不是错觉。系统迭代过程中积累的缓存文件、残留配置和隐形服务,就像房间角落堆积的灰尘,拖慢了整台机器的响应速度。而通过U盘进行的macOS Monterey全新安装,本质上是一次彻底的"数字大扫除":它不仅替换系统文件,还会重建所有索引、清理磁盘碎片,甚至能解决某些玄学般的卡顿问题。对于2015款及之后的MacBook Pro用户,这种安装方式能让老设备重获新生。

weixin_28731223的博客 309

MobaXterm远程连接频繁掉线?3个SSH保活设置让你告别断连烦恼

本文针对MobaXterm远程连接频繁掉线问题,提供了3个SSH保活设置方案。从基础的SSH心跳机制到进阶的会话超时调整,再到TCP层保活与代理优化,全方位解决断连烦恼。特别适合需要稳定远程连接的开发者和运维人员,有效提升工作效率。

weixin_29250573的博客 485

安卓java帧布局_Android布局之帧布局FrameLayout详解

FrameLayout在这个布局中,所有的子元素都不能被指定放置的位置,他们统统防御这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。用途常用于进度条的表示android:layout_width="match_parent" android:layout_height="match_parent">android:layout_gravity="c...

weixin_29206669的博客 211

实战避坑:泛微E9流程接口与单点登录(SSO)开发全解析(含自定义Action、Restful API与免密登录)

本文深入解析泛微E9流程接口与单点登录(SSO)开发中的关键技术与避坑指南,涵盖自定义Action开发、Restful API鉴权机制及跨系统单点登录实现。通过实战案例与代码示例,帮助开发者高效完成二次开发,解决系统集成中的数据孤岛问题,提升企业信息化建设效率。

weixin_42549451的博客 672

Android FlexboxLayout布局属性详解,安卓开发新手入门教程

<TextView android:id="@+id/textview3" android:layout_width=“120dp” android:layout_height=“90dp” android:layout_margin=“2dp” android:background="#ee998f" android:gravity=“center” android:text=“3” /> <TextView android:id="@+id/textview4" android:lay

m0_64382743的博客 2478

PLC期末速成——顺序功能图转梯形图

一、根据顺序功能图写出梯形图程序 顺序功能图: 梯形图: 1、程序段1,系统运行标志M0.0的启-保-停控制电路。 2、程序段2,PLC上电与逆行,初始化脉冲M1.0激活初始化步M2.0。 3、程序段3,当M2.0初始化步为活动步,并且M0.0系统运行标志位为1时,置位M2.1步,复位M2.0步。 4、当M2.1为活动步,并且I0.3中液位传感器为1时,置位M2.2步,复位M2.1步。 5、程序段5,当M2.2为活动步,并且I0.2高液位传感器为1时,置位M2.3步,复位M2.2步。 6、程序段

qq_52251819的博客 1万+

【智能体评测】BrowserUse:一款超越 Anthropic Computer Use 的开源智能体

本文将全面介绍 BrowserUse 的核心功能、配置与使用方法,以及通过多场景测试评估其性能。

surfirst的博客 4096

android对齐其他控件底部,Android Relative Layout 安卓相对布局详解

思维导图可在幕布找到1. 基础如果在相对布局里,控件没有指明相对位置,则默认都是在相对布局的左上角:android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#FF00FF"android:padding="20dp"android:text="Item2"/>and...

weixin_39641231的博客 1364

基于深度学习的垃圾邮件识别

垃圾邮件的大量存在严重威胁着电子邮件系统的安全和效率。基于深度学习的垃圾邮件识别技术已经成为目前最有效的解决方案之一。本文将详细介绍使用深度学习技术进行垃圾邮件识别的方法,并提供相应的代码实现。 随着电子邮件的广泛应用,垃圾邮件的数量不断增加,传统的规则和统计方法已经无法满足对垃圾邮件进行准确识别的需求。深度学习技术以其强大的模式识别能力和自动特征提取能力成为解决垃圾邮件识别难题的有效工具。

一键难忘的博客 1093

猫猫学安卓——Android布局详解

第一类:属性值为true可false android:layout_centerHrizontal        水平居中 android:layout_centerVertical         垂直居中 android:layout_centerInparent         相对于父元素完全居中 android:layout_alignParentBottom

翟乃玉 1094

高通 vs MTK vs 海思:三大平台 ISP 架构横向对比与实战差异分析

随着移动影像能力成为智能终端差异化竞争的核心维度,ISP(Image Signal Processor)架构日益重要。高通、MTK、海思三大 SoC 厂商在 ISP 设计上各具特色,不仅在图像处理链路、模块集成度、算法加速路径等方面存在显著差异,同时也决定了终端厂商在成像质量、调试复杂度与扩展能力上的实际表现。本文将基于真实平台项目经验,横向对比三大主流平台的 ISP 架构关键指标,系统分析其在实际开发过程中的能力边界、工程成本与调优空间,帮助工程师更精准地进行平台选型与优化策略制定。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3926

YOLOv11 快速入门指南 | 10分钟吃透网络结构与新特性

2024 年 9 月 30 日,Ultralytics 发布了 YOLOv11,这是继 YOLOv8、v9、v10 之后的最新一代实时目标检测模型。 与前几代相比,YOLOv11 在保持“单阶段、实时、端到端”三大基因的同时,带来了两大核心升级:一句话总结:YOLOv11 = 更快 + 更准 + 更少参数。 2.2 微观单元:C3k2 与 C2PSA 2.2.1 C3k2 模块 作用:替换 YOLOv8 的 C2f,做跨阶段局部特征融合。 核心代码(ultralytics/nn/modules/block

shrgegrb的博客 1407

Android六大基本布局详解

本文对Android的六大基本布局做详细的介绍和代码的示例。

wenzhi的博客 3万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Android开发学习笔记之详解五大布局,2024年最新安卓开发自学技巧

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2301_79098886的博客 1224

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

安卓 ConstraintLayout 布局详解

ConstraintLayout 布局详解

u014644574的博客 2910

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android:TableLayout表格布局详解

原文: android:TableLayout表格布局详解

ymangu的专栏 699

android布局详解

一、常用布局 Android系统中为我们提供的五大布局:LinearLayout(线性布局)、FrameLayout(单帧布局)、AbsoluteLayout(绝对布局)、TablelLayout(表格布局)、RelativeLayout(相对布局)。其中最常用的的是LinearLayout、TablelLayout和RelativeLayout。这些布局都可以嵌套使用。 (1)LinearL

乌龟赛跑 2344

Android之布局详解

四种基本布局

i_nclude的博客 2305

安卓详解四种基本布局

线性布局即LinearLayout,通过属性指定了排列方向,有两个可选值,vertical代表垂直方向排列,horizontal代表水平方向排列。我们在LinearLayout中添加了3个Button,每个Button的长和宽都是wrap_content,并指定了排列方向是vertical。现在运行一下程序,效果如下图:重新运行一下程序,效果如下图:线性布局还具有。

weixin_57244464的博客 3308
上一篇: ios 提交app store 流程
下一篇: android:gravity 和 android:layout_Gravity属性 的区别
yesjava
博客等级 码龄19年 69粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值