布局总结

layout对于顺速搭建界面和适应不同的分辨率有很重要的作用,layout大致分成5种,LinearLayout ,FrameLayout , TableLayout  ,RelativeLayout,  AbsoluteLayout.

1.几种Layout中Item所共有的XML属性:

  • (1)layout_width
  • (2)layout_height

注: (1)和(2)用来确定放入Layout中的View的宽度和高度:它们的可能取值为fill_parent,wrap_content或者固定的像素值。

  • (3)layout_marginLeft         --->paddingLeft
  • (4)layout_marginTop         --->paddingTop
  • (5)layout_marginRight       --->paddingRight
  • (6)layout_marginBottom    --->paddingBottom
  • (补)layout_margin              --->padding

 注:(3)(4)(5)(6)是放入Layout中的View期望它能够和Layout的边界或者其他View之间能够相距一段距离。

  • (7)layout_gravity

注:(7)用来确定View在Layout中的停靠位置。

FrameLayout是最简单的Layout,就只具有这些属性。

LinearLayout还会有:

  • (8)layout_weight

注: (8)用于在LinearLayout中把所有子View排布之后的剩余空间按照它们的layout_weight分配给各个拥有这个属性的View。

 

TableLayout的行TableRow是一个横向的(horizontal)的LinearLayout

 

RelativeLayout有16个align相关的XML属性:

 

  • (9 )layout_alignParentBottom    当前控件低端与父控件的低端对齐(重合)
  • (10)layout_alignParentLeft        当前控件左端与父控件的左端对齐(重合)
  • (11)layout_alignParentRight      当前控件右端与父控件的右端对齐(重合)
  • (12)layout_alignParentTop        当前控件上端与父控件的上端对齐(重合)
  • (13)layout_centerHorizontal      当前控件位于父控件的横向中间位置(水平方向上的中间)
  • (14)layout_centerInParent        当前控件位于父控件的纵横向中间位置(垂直方向上的中间)
  • (15)layout_centerVertical          当前控件位于父控件的纵向中间位置(平面上的正中间)

 

  • (16)layout_above             使当前控件位于给出id控件的上方
  • (17)layout_below             使当前控件位于给出id控件的下方
  • (18)layout_toLeftOf          使当前控件位于给出id控件的左侧
  • (19)layout_toRightOf        使当前控件位于给出id控件的右侧

 

  • (20)layout_alignBottom     使当前控件与给出id控件的底部部重合(注意可用和给出id控件来对齐)
  • (21)layout_alignLeft          使当前控件与给出id控件的左边重合
  • (22)layout_alignRight        使当前控件与给出id控件的右边重合
  • (23)layout_alignTop          使当前控件与给出id控件的顶部重合
  • (24)layout_alignBaseline    使当前控件的BaseLine与给出id控件t的BaseLine重合,这个主要用于Label或者其他包含文本的widgets。

 注:(9)到(24)用来确定RelativeLayout中的View相对于Layout或者Layout中的其他View的位置

LinearLayout 有两个非常相似的属性:android:gravity与android:layout_gravity。他们的区别在 于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的 对齐方式。

举 个例子,我们可以通过设置android:gravity="center"来让EditText中的文字在EditText组件中居中显示;同时我们 设置EditText的android:layout_gravity="right"来让EditText组件在LinearLayout中居中显示

转载于:https://www.cnblogs.com/DASOU/p/4173383.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/420363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java四大函数式接口

Java8函数式接口1. Consumer<T> 消费型接口2. Supplier <R> 供给型接口3. Function<T, R> 函数型接口4. Predicate<T> 断定型接口5. 四大接口总结函数式接口有利于lambda表达式的编写和流式计算。在Java中定义了四种函数式接口&#xff0c; Consumer …

python pandas dataframe 排序,如何按两列或更多列对python pandas中的dataFrame进行排序?...

Suppose I have a dataframe with columns a, b and c, I want to sort the dataframe by column b in ascending order, and by column c in descending order, how do I do this?解决方案As of the 0.17.0 release, the sort method was deprecated in favor of sort_values…

前端学习(1316):静态资源

//创建网站服务器模板 const http require(http); const url require(url); //网站服务器对象 const app http.createServer(); const path require(path); const fs require(fs); //客户端有请求 /* const querystring require(querystring); */ app.on(request, (req, …

Linux内核源码目录说明

Linux内核源代码位于/usr/src/linux目录下&#xff0c;其结构分布如图1.3所示&#xff0c;每一个目录或子目录可以看作一个模块&#xff0c;其目录之间的连线表示“子目录或子模块”的关系。下面是对每一个目录的简单描述。 Arch 目录包括了所有和体系结构相关的核心代码。它下…

线程,进程,并发,并行

Java util concurrent 是Java工具包&#xff0c;用于并发编程的。 1. jdk8 文档 2. 进程/线程是什么&#xff1f; 进程&#xff1a; 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元&#xff0c;在传统的操作系统中&#x…

前端学习(1317):静态资源2

//创建网站服务器模板 const http require(http); const url require(url); //网站服务器对象 const app http.createServer(); const path require(path); const fs require(fs); const mime require(mime); //客户端有请求 /* const querystring require(querystring)…

制作双足机器人用易拉罐_小学生手工小制作用易拉罐做飞机模型的方法

阅读本文前&#xff0c;请您先点击上面的“蓝色字体”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了。每天都有分享&#xff0c;完全是免费订阅&#xff0c;请放心关注。注&#xff1a;本文转载自网络&#xff0c;不代表本平台立场&#xff0c;仅供读…

怎样学好C++ ----高手的话

用一年时间如何能掌握 C &#xff1f;修改有一定 C 语言基础&#xff0c;日后想从事游戏开发等工作&#xff0c;给自己一年时间&#xff0c;能在此期间精通 C 吗&#xff1f;Milo Yip&#xff0c;游戏程序员、《游戏引擎架构》译者张麦克、什么、乘风者 等人赞同本人大约从20多…

Lock锁实现多线程卖票

理解多线程卖票demoLock架构使用lock替代synchronized总结使用Lock 实现。Lock架构 使用lock替代synchronized import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;/*** 企业级的多线程代码* 在高内聚低耦合情况下 多线程 操作 资源类…

小程序引入的echarts过大如何解决_解决生鲜行业“获客难”的难题,教你如何妙用小程序...

近年来&#xff0c;随着生鲜食品产业的快速发展&#xff0c;大量企业和商家加入了生鲜食品的“大本营”。但大量的企业和商家也对市场产生了一定的影响&#xff0c;不少生鲜商家陷入了一个困境——难以获得客户。当生鲜食品企业面临“获客难”的困境时&#xff0c;不妨开发一个…

前端学习(1319):node.js异步编程

test,js function getMsg(callback) {setTimeout(function() {callback({msg: hello node js})}, 2000) } getMsg(function(data) {console.log(data); }); callback.js function getData(callback) {callback(123); } getData(function(n) {console.log(被调用了);console.…

多线程通信

生产者&#xff0c;消费者模式synchronizedlock condition对象等待唤醒线程定制化调用通信一个线程生产&#xff0c;一个线程消费。 两种实现方式&#xff1a; synchronized关键字灵活的lock锁 一个线程新增1&#xff0c;一个消费0&#xff0c;按顺序进行。保证最后的数据为…

docker web程序本地化_Docker-01-Docker介绍

一 什么是虚拟化在计算机中&#xff0c;虚拟化&#xff08;Virtualization&#xff09;是一种资源管理技术&#xff0c;是计算机的各种实体资源&#xff0c;如服务器&#xff0c;网络&#xff0c;内存及存储等&#xff0c;予以抽象&#xff0c;转换后呈现出来&#xff0c;打破实…

tk-mapper 生成器

tk-mapper生成代码代码&#xff0c;项目地址如何使用1. 生成实体类, XML文件, Mapper接口。 2. 版本相关&#xff1a;mapper&#xff1a; 3.4.1mapper-spring-boot-starter: 1.1.2mybatis-generator-core: 1.3.6 3. 这里以SpringBoot为demo, 作为一个程序&#xff0c;运行Gener…

大二《数据结构》机考解题报告

这次学校数据结构机考&#xff0c;题目很奇怪&#xff0c;简直让我觉得这是算法考试……三道题&#xff0c;撑死了用到树的遍历和并查集&#xff0c;连个队列都没用&#xff0c;也是醉了-.- 第一题 高精度加法 两个数相加&#xff0c;数最多5000位&#xff0c;也就是和最多5001…

前端学习(1321):node.js得异步api

const fs require(fs);fs.readFile(./1.txt, utf8, (err, result1) > {console.log(result1);fs.readFile(./2.txt, utf8, (err, result2) > {console.log(result2);fs.readFile(./3.txt, utf8, (err, result3) > {console.log(result3);});}); }) 运行结果

ipad怎么和mac分屏_将Mac屏幕扩展到iPad有多好用?我甚至有了入手iPad Pro的冲动...

这次我手机先不升 iOS 13&#xff0c;不够稳&#xff0c;但 iPadOS 更新这么多&#xff0c;我是绝对会升的。手捧 11 英寸 iPad Pro 几个月&#xff0c;但却一直只把它当做大号 iPod Touch 的朋友在看完《iPadOS 抢先体验&#xff1a;这是一次属于 iPad 的成人礼》这篇文章后对…

SpringBoot配置文件绑定到Java Bean

boot读取配置文件1. yml配置文件2. 绑定方式13. 绑定方式23.1 依赖.3.2 boot 中提供的属性装配功能。1. 在某些业务中&#xff0c;需要将类的配置写到配置文件中, 不在代码中写死配置。 2. 所以需要读取配置文件(yaml, properties) 读取到Java Bean中。 3. 本文以oss对象存储配…