Android Layout 布局

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

原文地址: http://android.tgbus.com/Android/tutorial/201104/348551.shtml

一个Android视图有很多控件,那么怎么来控制它们的位置排列呢?我们需要容器来存放这些控件并控制它们的位置排列,就像HTML中div,table一样,Android布局也起到同样的作用。

  Android布局主要有以下几种:LinearLayout,RelativeLayout,TableLayout,AbsoluteLayout.最后一种AbsoluteLayout是通过指定控件的x/y坐标来定位的,不太灵活所以已经不推荐使用了。

  (1)LinearLayout

  LinearLayout线性布局,包含在LinearLayout里面的控件按顺序排列成一行或者一列,类似于Swing里的FlowLayout和Silverlight里的StackPanel,它的常用的属性主要包括:

  Orientation方向,即指定LinearLayout是代表一行还是一列,可以为horizontal或vertical,如android:orientation="vertical",当然也在可以在代码里通过setOrientation()方法来设置。

  FillMode填充方式,所有在LinearLayout的控件都必须指定它的填充方式,即设置android:layout_width和android:layout_height,可以为三种值(1)具体的像素值,如20px(2)wrap_content,表示按控件文本实际长度显示(3)fill_parent,表示填充剩下的所有可用空间。

  Weight权重,如果你想让一行或一列的控件按比例显示,这时候权重就起到作用了,如想让一行里面两控件其中一控件占两倍于另一控件的空间,可以把其中一控件的android:layout_weight设置为1,另一个为2即可。

  我们来看看代码:

  Java代码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent">

<LinearLayout 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:layout_weight="1">

<TextView 
android:text="red" 
android:gravity="center_horizontal" 
android:background="#aa0000" 
android:layout_width="wrap_content" 
android:layout_height="fill_parent" 
android:layout_weight="1" />

<TextView 
android:text="green" 
android:gravity="center_horizontal" 
android:background="#00aa00" 
android:layout_width="wrap_content" 
android:layout_height="fill_parent" 
android:layout_weight="1" />

<TextView 
android:text="blue" 
android:gravity="center_horizontal" 
android:background="#0000aa" 
android:layout_width="wrap_content" 
android:layout_height="fill_parent" 
android:layout_weight="1" />

<TextView 
android:text="yellow" 
android:gravity="center_horizontal" 
android:background="#aaaa00" 
android:layout_width="wrap_content" 
android:layout_height="fill_parent" 
android:layout_weight="1" />

</LinearLayout>

<LinearLayout 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:layout_weight="1">

<TextView
android:text="row one" 
android:textSize="15pt" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_weight="1" />

<TextView 
android:text="row two" 
android:textSize="15pt" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_weight="1" />

<TextView
android:text="row three" 
android:textSize="15pt" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_weight="1" />

<TextView 
android:text="row four" 
android:textSize="15pt" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_weight="1" />

</LinearLayout>

</LinearLayout>

 

  可以看到父类LinearLayout包含了一个水平布局的LinearLayout和一个垂直布局的LinearLayout,它们分别包含了四个平分宽度和高度的TextView,运行效果如下:
  
  效果图:


QGC二次开发实战指南(一):从零构建自定义地面站界面 本文详细介绍了QGC二次开发实战指南,从零开始构建自定义地面站界面。通过QT和QML技术结合MAVLINK协议,开发者可以打造适合特定业务场景的无人机监控系统,提升操作效率与用户体验。文章包含环境搭建、界面设计、数据绑定等完整开发流程,是QGC二次开发的实用教程。 阅读详情

相关推荐

从数据手册到代码:一步步解读SC7A20寄存器配置与加速度值换算原理

本文详细解析了SC7A20三轴加速度传感器的寄存器配置与加速度值换算原理。从数据手册出发,逐步拆解关键寄存器设置,并推导原始ADC值到物理加速度的完整换算过程,帮助开发者深入理解传感器底层工作原理,提升嵌入式开发效率。

weixin_29179311的博客 366

教程:Android各种Layout特性和使用汇总

http://www.learningandroid.net/blog/foundation/tutorial-layout-part1/ http://www.learningandroid.net/blog/foundation/tutorial-layout-part2/

forestsheep的技術分享 539

从零到一:基于GeneMark-ES/ET的新基因组注释实战指南

本文提供了一份基于GeneMark-ES/ET的新基因组注释实战指南。详细介绍了从环境搭建、数据准备到核心运行的全流程,重点解析了ES(从头预测)与ET(结合RNA-Seq证据)两种模式的选择与操作,并分享了Perl模块依赖、并行处理等常见问题的解决方案,帮助生物信息学研究者高效完成基因预测工作。

weixin_29266647的博客 206

Android中layout过程详解

相比较onMeasure ,layout过程要简单多了,正如layout的中文意思“布局”中表达的一样,layout的过程就是确定View在屏幕上显示的具体位置,在代码中就是设置其成员变量mLeft,mTop,mRight,mBottom的值,这几个值构成的矩形区域就是该View显示的位置,不过这里的具体位置都是相对与父视图的位置。 与onMeasure过程类似,Vie...

banlujian4437的博客 289

Labelme AI-Polygon闪退排查与修复指南

本文详细介绍了Labelme AI-Polygon功能闪退问题的排查与修复方法,包括环境配置检查、模型路径设置、依赖库版本控制等关键步骤。通过系统性的解决方案和实用技巧,帮助用户快速解决闪退问题,确保数据标注工作的高效进行。

weixin_29311017的博客 139

Python爬虫实战:5分钟搞定Boss直聘数据抓取(附完整代理IP配置)

本文详细介绍了如何使用Python爬虫高效抓取Boss直聘的招聘数据,包括环境配置、反爬策略、数据采集与存储、数据分析等完整流程。通过实战案例,帮助开发者快速掌握招聘市场数据抓取技术,为职业决策提供数据支持。

weixin_30832143的博客 346

android布局文件夹layout下分模块,使布局更易管理

android布局文件夹layout下分模块,使布局更易管理 1.在app下的build.gradle中增加如下配置代码 def listSubFile={ def layoutFolder='src/main/res/layout' def files=file(layoutFolder).listFiles() def folders=[] ...

自带橡皮的铅笔的博客 1434

MATLAB/simulink电力系统之变压器仿真+变压器饱和仿真+空载变压器电流畸变原因及仿真+空载合闸励磁涌流仿真+simulink免费仿真资源

单相变压器空载运行时,原边电流主要用来产生主磁场,而电路损耗和铁芯损耗很小,因此即使外加电压很大,空载电流仍然很小。如果想观察某个相对磁导率下电感系数的数值,可以在程序中增加这样的语句,比如,在程序中end语句之后,加上L(100),运行程序后就可以得到相对磁导率为 100时的电感系数值。在交流铁芯线圈中,当交变磁通按照正弦规律变化时,受到磁路饱和的影响,线圈中的电流会发生畸变,并成为尖顶波,这就是所谓的交流磁路电流畸变。需要指出,铁芯内的主磁通Ф可以通过空载时的副边电压从来测量,两者之间的数学关系,即。

m0_37724753的博客 4229

android布局选中效果,Android动态效果定值范围选择控件

效果演示:添加依赖库的步骤1.项目的gradle文件内的做以下改动allprojects {repositories {...maven { url "https://jitpack.io" }}}2.添加最新版本的依赖库,最新版本如右所示,修改末尾的版本即可(因为我有时候更新版本了会忘记修改readme)dependencies {compile 'com.github.Brioal:Brioa...

weixin_39757040的博客 222

【二】MADDPG多智能体算法实现(parl)【追逐游戏复现】

论文全称:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments 论文原文:https://download.youkuaiyun.com/download/sinat_39620217/16203960 论文翻译:https://blog.youkuaiyun.com/qiusuoxiaozi/article/details/79066612 ...

丨汀、的博客 2万+

从代码仓库到知识库:自动化构建与RAG技术实践

在软件工程领域,代码库的规模与复杂性日益增长,如何高效管理和利用其中的知识成为关键挑战。传统文档工具主要依赖注释提取API信息,而现代知识构建技术则通过抽象语法树(AST)解析、自然语言处理等手段,深入理解代码结构、调用关系和业务逻辑。其核心价值在于将非结构化代码转化为机器可理解、可检索的结构化知识,显著提升代码资产的可维护性和团队协作效率。这一过程通常涉及代码解析、信息提取、向量化表示和存储索引四个关键阶段,其中向量化技术将代码语义转化为高维向量,为语义搜索奠定基础。结合检索增强生成(RAG)架构,开发者

weixin_42545292的博客 411

安卓的常用布局看一篇就够了

安卓布局

A125679880的博客 7939

双端之Nginx+Php结合PostgreSQL搭建Wordpress

制作的 PG4WP 分支版本,它与所有版本的 WordPress 兼容,解决了原版的一些问题。参数,确保 PostgreSQL 正在监听默认端口(通常是 5432),或者你自定义的端口。:PG4WP 插件存在缺陷和不完整的功能,可能与最新版本的 WordPress 不兼容。的插件,它允许 WordPress 使用 PostgreSQL 数据库。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。

宇宙第一小趴菜的博客 1891

安卓开发技巧一:深入理解Android布局中Layout_weight的属性

今天开始将要为大家介绍一些安卓开发过程将要用到的一些技巧,这些技巧全部来自网络搜集,或者自己在企业做项目的时候总结出来的,利用这些技巧将会对我们开发带来非常方便的便捷性。 先来记录一下这一段时间的技巧目录,方便大家以后方便查阅(大概有不到三十种的技巧总结,大概每周分享两个技巧,笔者将尽可能写的详细,以及提供实例源码): 安卓开发技巧一:深入理解Android布局中Layout_weight的属

momocsdn 5511

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android Percent Layout 安卓百分比布局

谷歌官方支持按照百分比来设置布局的宽高。 支持PercentRelativeLayout和PercentFrameLayout,分别继承自RelativeLayout和FrameLayout 均支持以下属性: layout_widthPercentlayout_heightPercentlayout_marginPercentlayout_marginLeftPercentl

breeze_wf的专栏 2606

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android系统五大布局详解Layout

我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前,视图都是由一个一个的组件构成的。组件就是我们常见的Button、TextEdit等等。那么我们平时看到的Android手机中那些漂亮的界面是怎么显示出来的呢?这就要用到Android的布局管理器了,网上有人比喻的很好:布局好比是建筑里的框架,组件按照布局的要求依次排列,就组成了用于

漫步云端 5万+

NTscan扫描工具

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

安卓layout布局三等分

关于android LinearLayout的比例布局,主要有以下三个属性需要设置:      1,android:layout_width,android:layout_height,android:layout_weight三个值      2,当为水平布局时,android:layout_height=“0dp",当为垂直布局时,android:layout_width="0dp

LY_Dengle的专栏 1万+

Android相对布局上下结构,关于Android相对布局中的四个属性:layout_alignTop,layout_alignBottom,layout_above,layout_below的分析...

前几天想要实现仿微信的界面,在使用相对布局时用到下面四个属性,分别是android:layout_alignTop,android:layout_alignBottom,android:layout_above,android:layout_below四个属性。首先来分析这4个属性:// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的控件之上;androi...

weixin_39613540的博客 1973

安卓按比例布局,layout_weight用法

在网上看了一些对Layout_weight的讲解,有些说的比较片面,只列举了一种情况,然后自己通过实验和一些比较好的文章总结了一下,特此记录下来,以备以后所用。Layout_weight是线性布局,也就是LinearLayout里面用到的,下面通过实验来看这个Layout_weight的特性。 1.当控件的属性android:layout_width="fill_parent"时,布局文件如下:

hytfly的专栏 1万+

Android界面布局属性layout_gravity和gravity的区别

一、layout_gravity和gravity的作用 1、android:layout_gravity是设置该控件相对于父容器对齐方式; 2、android:gravity是设置子元素在该容器内的对齐方式。 3、layout_gravity和gravity可以设置的值:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。(一个属性可以包

qq_44111805的博客 1万+

安卓xml文件布局中的android:layout_weight详细说明

android:layout_weight layout_weight  表示给一个线性布局中的诸多视图的重要度赋值。  所有的视图都有一个layout_weight值,默认为零,意思是需要显示 多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父视图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体 layout_wei

依乐祝的博客 838

安卓开发:初步了解布局文件layout

了解完项目的目录结构,主要文件的作用之后。 了解完各常量文件的定义和使用之后,接下来的重头戏肯定是布局文件layout。 果然,网上关于“安卓布局文件layout”的各种介绍、解析、深入分析,等等资料很多。 我首先选了这篇文章,因为一眼扫过去觉得,花架子不多,语言朴实,文章结构也比较清晰。 【https://blog.youkuaiyun.com/liuwei0604/article/de...

weixin_30672295的博客 206

java写安卓布局_Android 常用布局 Layout 和 组件编写

布局元素View 是最基本的UI类,基本上所有的高级UI组件都是集成子View类的实现。Viewgroup 是 View的容器,是容器类的基类。Layout 是一个可横向和纵向排列布局的一个容器,布局组件。 LincaLayout这个组件就是用来横向和纵向排列布局的组件。RelativeLayout容器让里面组件之间的位置相对进行布局,比如Button2,相对于之前出现的Button1,测算位置...

weixin_39871378的博客 509

Android View 绘制流程之二:layout布局

Android View 绘制流程之二:layout布局一.layout整体流程二.常见onLayout实现1.FrameLayout的onLayout2.LinearLayout的onLayout3.RelativeLayout的onLayout layout(int left,int top,int right,int bottom)方法是View测绘系统的第二步,布局过程,是在measure...

依生依世 722

Android layout布局的优化

开发一款好的的app,性能当然比较重要,如果app运行不流畅,势必会影响用户的体验,造成用户的流失。今天我们来讲一讲Android开发中layout布局的优化。 1、尽量使用LinearLayout和RelativiLayout,另外LinearLayout比RelativiLayout性能要更优一点。 2、通过include标签来添加重复使用的布局 可复用的布局content_main

GEM_yaorao的博客 732
上一篇: UltraEdit打开的文件按标签显示
下一篇: mysql数据库操作(将一张表的数据插入到另外一张表中)
ld_flex
博客等级 码龄16年 26粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值