Android常用五种布局
1. FrameLayout(框架布局)
这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西
类似网页中的div层
2. LinearLayout (线性布局)
线性布局,他是一个一个从上往下罗列在屏幕上
每一个LinearLayout里面又可分为垂直布局(android:orientation=”vertical”)和水平布局(android:orientation=”horizontal” )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列
android:layout_width表示控件的宽度,android_layout_height表示控件的高度,其属性值有wrap_content、fill_parent、match_parent三种。其中,wrap_content表示填满父控件的空白,fill_parent表示大小刚好足够显示当前控件里的内容,match_parent与fill_parent作用是相同的
linearLayout中有一个重要的属性 android:layout_weight=”1”,这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center" //按钮中text的位置
android:background="#00aa00"
android:text="Button" />
3. AbsoluteLayout(绝对布局)
绝对布局犹如div指定了absolute属性,用X,Y坐标来指定元素的位置android:layout_x=”20px”
android:layout_y=”12px” 这种布局方式也比较简单,但是在垂直随便切换时,往往会出问题,而且多个元素的时候,计算比较麻烦
4. RelativeLayout(相对布局)
相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:
相对于某一个元素
android:layout_below=”@id/aaa” 该元素在 id为aaa的下面
android:layout_toLeftOf=”@id/bbb” 该元素的左边是bbb
相对于父元素的地方
android:layout_alignParentLeft=”true” 在父元素左对齐
android:layout_alignParentRight=”true” 在父元素右对齐
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/input_num"
android:id="@+id/textView1" /> //需要添加一个id,以被引用
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textView1" /> //相对id的布局
5. TableLayout(表格布局)
表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity=”“
6. LinearLayout和TableLayout常用指令
android:id——控件指定相应ID
android:text——控件中显示文字。注意尽量使用Strings.xml
android:gravity——控件中文字基本位置,如center、left、right、center_horizontal等
android:textsize——控件中字体大小,单位为pt
android:background——控件背景色
android:width——控件宽度
android:height——控件高度
android:padding——空间内边距,指控件当中内容到空间的距离。其中有android:padding_left、android:padding_right等
android:siglelise——如果设置为真,控件内容将在同一行显示
android:margin——外边距
7. Relative Layout常用指令
属性值为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 将控件的顶部与给定控件顶部对奇属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 与下边的距离
android:layout_marginLeft 与左边的距离
android:layout_marginRight 与右边的距离
android:layout_marginTop 与上边的距离
8. android 尺寸
- px (pixels)像素
- dip或dp (device independent pixels)设备独立像素
和设备硬件有关 - sp (scaled pixels — best for text size)比例像素
主要处理字体的大小,可以根据系统的字体自适应
Android常用五种布局的更多相关文章
- 【转】Android UI 五种布局
在一个Android应用中,Layout是开发中的一个很重要环节,Layout是组成UI不可缺少的一部分. ## Android UI 核心类 在Android应用构建UI的方法有以下几种: 单纯使用 ...
- android五种布局模式
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局),FrameLayout(框架布局),AbsoluteLayout(绝对 ...
- 页面的五种布局以及嵌套『Android系列八』
转自:http://blog.csdn.net/dazlly/article/details/7860125 因为学习比较晚,我用的相关版本为SDK4.1.eclipse4.2,而自己看的教材都是低版 ...
- 【Android 复习】:Android五种布局的使用方法
---恢复内容开始--- 在Android布局中,有五种常用的布局,下面我们就来学习一下这几种布局的使用方式 1) 线性布局:LinearLayout 2) 帧布局: FrameLayout 3) ...
- Android特效 五种Toast详解
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失.而且Toast主要用于向用户显示提示消 ...
- Android中五种常用的menu
Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...
- Android UI开发第二十九篇——Android中五种常用的menu(菜单)
Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...
- php 常用五种模式
/* 设计模式之单例模式 $_instance 必须声明为静态的私有变量 构造函数必须声明为私有,防止外部程序 new 类从而失去单例模式的意义 getInstance() 方法必须设置为公有的,必须 ...
- Android特效 五种Toast具体解释
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,并且Toast显示的时间有限,过一定的时间就会自己主动消失. 1.默认效果: 代码: Toas ...
随机推荐
- .Net反射-TypeDescriptor
.Net中提供了两种方式访问类型的元数据:System.Reflection命名空间中提供的反射API和TypeDescriptor类.反射适用于所有类型的常规机制,它为类型返回的信息是不可扩展的,因 ...
- Koa帮我们做了什么
整理web渲染思路,与KOA作比较 1.开启服务器并监听端口,注册监听事件 // 原生 let http = require('http') const server = http.createSer ...
- C语言博客作业04—数组
0.展示PTA总分(0----2) 展示3张关于"数组题目集"分数截图. 1.本章学习总结(2分) 1.1 学习内容总结 整理数组这章学习主要知识点,必须包含内容有: (1)数组查 ...
- Python网络爬虫神器PyQuery的使用方法
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests from pyquery import PyQuery as pq url ...
- ##ant 打包apk
ant 打包apk 1. 参考: Android Ant 批量多渠道打包实例 单个渠道类似操作,只不过不用修改build.xml文件 2. 修改ant debug的包签名,使用和release版本相同 ...
- 微信小程序跳转函数总结
微信小程序跳转函数总结 笔者在微信小程序前端的开发过程中,在不同的情况下遇到了需要使用不同的页面跳转逻辑的情况,以下是我对这些函数的使用场景的一个总结介绍. wx.navigateTo 这是最常用 ...
- 【Kubernetes学习之二】Kubernetes集群安装
环境 centos 7 Kubernetes有三种安装方式:yum.二进制.kubeadm,这里演示kubeadm. 一.准备工作1.软件版本 软件 版本 kubernetes v1.15.3 Cen ...
- 透彻的掌握 Spring 中@transactional 的使用
事务管理是应用系统开发中必不可少的一部分.Spring 为事务管理提供了丰富的功能支持.Spring 事务管理分为编码式和声明式的两种方式.编程式事务指的是通过编码方式实现事务:声明式事务基于 AOP ...
- scala 正则
package com.program import scala.util.matching.Regex object RegexTest { def main(args: Array[String] ...
- cad.net 定义lisp
首先是传参型lisp的定义: (addLine (getpoint)) //定义lisp传入参数的例子 //复制到命令栏运行: (addLine (getpoint)) [LispFunction(& ...