Android开发教程 --- 布局(线性布局 Linear Layout )(相对布局 Relative Layout)

2024-04-04 12:18

本文主要是介绍Android开发教程 --- 布局(线性布局 Linear Layout )(相对布局 Relative Layout),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Hi,大家好

      上次发布博文到现在已经很长时间了,年底项目非常的忙,一是抽不开时间来更新,二是可能有那么点懒,不管什么原因吧,对大家说声抱歉,后续会持续更新,谢谢大家的支持!

      照例,放松下:有一个小伙子在一个办公大楼的门口抽着烟,一个妇女路过他身边,并对他说,“你知道不知道这个东西会危害你的健康?我是说,你有没有注意到香烟盒上 的那个警告(Warning)?”

小伙子说,“没事儿,我是一个程序员”。

那妇女说,“这又怎样?”

程序员说,“我们从来不关心Warning,只关心Error”

     今天,主要来说说Android中的布局,肯定会有人说,现在网络上一搜一大把这样的文章,没意思,确实,毕竟那么多人都在编写发表博文,但是好像没有多少文章会以一个例子来讲解这些布局知识点,这篇博文主要还是讲解一些基础的知识点,下一篇主要用一个实例来总结布局知识,下边是目标效果,会在下篇博文中讨论,以方便日后的翻阅。高手就跳过吧!

    car

    Android 中有五大布局,分别是

   线性布局 - Linear Layout

   相对布局 - Relative Layout

   表格布局 - Table Layout

   相对布局 - AbsoluteLayout

   框架布局 – FrameLayout

   我在开发中,常用线性布局和相对布局,在此主要对这两种布局进行讲解。

   线性布局主要又分为垂直线性布局和水平线性布局,主要使用

android:orientation=”vertical”和android:orientation=”horizontal ”,效果分别如下:

  QQ截图未命名22

 

 

QQ截图未命名22

发现如果屏幕宽度或高度不够时,会有变形和显示不全的效果,那么如何避免这种情况呢?

•android:layout_weight=“1”

•这个属性比较重要:每个控件的默认值为0 ,意思是控件是根据自身的宽高来划分空间,如果控件过多,超出一屏时,就会被遮挡住。

•如果为每个控件都定义这个属性,并且值都为1,那么就会对这些控件的父元素的可用空间进行划分。

•例:如果有5个控件,每个Weight=1,那么意味着父元素的空间将被划分成5份,每一个控件将占据1/5,Weight值越高,那么它所占的比例也就越大。

QQ截图未命名33

一般情况下,在做UI时,都会采用嵌套的方式来实现复杂的布局,例如:垂直线性套水平线性或者垂直线性套相对布局等,都需要各位多去动手实践。

   相对布局:

 

•概念

•允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定)。

•如果布局文件中有多层嵌套LinearLayout时,可以考虑使用相对布局

•需要用到的属性

•android:layout_marginTop=“25dip” //顶部距离

android:gravity=“left” //控件中文本位置

android:layout_marginLeft="15dip //距离左边距

// 相对于给定ID控件

android:layout_above 将该控件的底部置于给定ID的控件之上(将该控件置于指定控件的上面);

android:layout_below 将该控件的顶部置于给定ID的控件之下(将该控件置于指定控件的下面);

android:layout_toLeftOf  将该控件的右边缘与给定ID的控件左边缘对齐;

android:layout_toRightOf将该控件的左边缘与给定ID的控件右边缘对齐;

 

 

android:layout_alignBaseline将该控件的baseline与给定ID的baseline对齐;

android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;

android:layout_alignBottom将该控件的底部边缘与给定ID的底部边缘对齐;

android:layout_alignLeft       将该控件的左边缘与给定ID的左边缘对齐;

android:layout_alignRight     将该控件的右边缘与给定ID的右边缘对齐;

// 相对于父组件

android:layout_alignParentTop      如果为true,将该控件的顶部与其父控件的顶部对齐;

android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;

android:layout_alignParentLeft      如果为true,将该控件的左部与其父控件的左部对齐;

android:layout_alignParentRight    如果为true,将该控件的右部与其父控件的右部对齐;

•// 居中
android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;
android:layout_centerVertical     如果为true,将该控件的置于垂直居中;
android:layout_centerInParent   如果为true,将该控件的置于父控件的中央;
// 指定移动像素
android:layout_marginTop      上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft 左偏移的值;
android:layout_marginRight 右偏移的值;

以下是一个简单的登录框效果

QQ截图未命名44

好了,剩下的三种布局在开发中我几乎没咋用过,个人感觉这两种布局就可以实现复杂的页面了。我总结了Android常用的布局-属性的帮助文档和这节的源代码都上传到了天圣达公司的网站,大家可以去下载。地址 http://www.tsdapp.com/android.html

 

本文转自http://www.cnblogs.com/jasoncc/archive/2011/12/20/2293339.html

这篇关于Android开发教程 --- 布局(线性布局 Linear Layout )(相对布局 Relative Layout)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Android中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark