android layout
android的视图分为两类,一类是布局,另一个类是控件
一、LinearLayout(线性布局)
最常用布局之一,线性布局的特性是每添加一个控件默认会在上个控件的下面占一行。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
<!-- 布局的宽度属性有:”fill_parent”,”wrap_content”,”match_parent” -->
<!-- fill_parent和match_parent 将强制性地使视图扩展至父元素大小 -->
<!-- wrap_content 将完整显示其内部的文本和图像 -->
android:layout_width="match_parent"
android:layout_height="match_parent"
<!-- vertical 垂直 ,horizontal 水平 -->
android:orientation="vertical"
<!-- 子元素在父元素的对齐方式-->
android:gravity="bottom|right"
>
android:layout_gravity和android:gravity区别
layout_gravity表示它在上一级界面的位置
gravity表示它里面的子视图的位置
二、RelativeLayout(相对布局)
最常用布局之一,相对布局的特性是添加的空间默认都在左上角一个覆盖一个。新添加的控件一定要在属性里指定其他控件相对的位置。
三、TableLayout(表格布局)
特点:一个 <TableRow>一行 里面加一个控件多一列
四、FrameLayout(帧布局)
特点:控件间的覆盖。应用场景比如视频播放器暂停时屏幕中间出现的按钮。
五、GridLayout(网格布局)
android4.0以后引入。比表格布局使用更加方便
1)可以自己设置布局中组件的排列方式
2)可以自定义网格布局有多少行,多少列
3)可以直接设置组件位于某行某列
4)可以设置组件横跨几行或者几列
典型案例,如计算器
六、AbsoluteLayout(绝对布局)
特点:能够像winform一样拖拉到屏幕上,所见即所得。但是分辨率一变,控件的大小和间距就会发生变化。
TextView
把控件拖入手机,右键go to XML 会看到如下代码
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:id="@+id/textView2"
android:layout_below="@+id/textView"
android:layout_alignParentStart="true" />
android:id 控件唯一标识
android:text 显示的文本信息
android:layout_width 控件宽度
android:layout_height 控件高度
宽和高有三种赋值方式:
1.可以设置固定值 如 100dp
2.也可以动态变化 "wrap_content"
3.可以适配父布局的宽和高 match_parent fill_parent(老版本) dpi =像素密度 ----每英寸上所能打印的点数-- 英寸就是一条线
如 dpi 160 1英寸长的线上有160个点 dpi160是标准屏幕 px=像素
dp(dip)=是设备独立像素 在标准dpi的前提下 1dp=1px 在dpi 320的前提下 1dp=2px
总结
相同px 像素密度越高的屏幕,看起来越短
相同dp 不同的像素密度,看起来一样长
引用 @
android:lines="5" 显示5行
强制单行属性
android layout的更多相关文章
- Android--应用开发3(Android layout XML属性)
Android layout XML属性 转载:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建 ...
- Android Studio “懒人”必备插件android layout id converter
在一个布局文件里.假设定义了非常多非常多id,代码中一个个findview是一件非常枯燥而且浪费时间的事情. 所以这里向大家推荐一个必备插件android layout id converter. 配 ...
- Android layout的XML
[注]此文是在学习andriod中的一些理解和总结,若有错望留言指教,谢谢 1 <RelativeLayout xmlns:android="http://schemas.androi ...
- android学习——Android Layout标签之-viewStub,requestFocus,merge,include
定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...
- 【Android UI】Android Layout XML属性
Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用.这里简要介绍Android的Layout和研究一下它的实现. Android有Layout:FrameLayout, ...
- Android Layout XML属性
转载自并做少量添加:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建界面和提高界面在不同分辨率的 ...
- Android -- Layout布局文件里的android:layout_height等属性为什么会不起作用?
有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性来布局,比如我们设置了android:layout_marginTop="100dip ...
- Android Layout布局文件里的android:layout_height等属性不起作用
有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性 来布局,比为我们设置了android:layout_marginTop="100di ...
- Android layout的横竖屏处理
一.layout-land和layout-prot的区别与使用 默认情况下,创建的Android项目里只有一个layout文件夹,尽管这样也可以横竖屏切换用,但是某些布局横屏过后闲的格外的丑,如下图 ...
- Android Layout Binder(在线将XML中View find出来,生成java代码的工具)
废话不多说,这是地址:http://android.lineten.net/layout.php. 有图有真相,比如: 你的XML假如是这样: <?xml version="1.0&q ...
随机推荐
- ThinkPHP5.0-多语言切换
这两天做得项目中需要多语言切换,于是乎就看了看文档,感觉有些乱,就使用了终极必杀--百度. 借鉴了网上各位大佬所集成.整理出一篇比较适合类似我这种比较菜的随笔吧. 请各位大佬轻虐.感谢. 首先,不说其 ...
- java常用流处理工具StreamTool 常见的InputStream流转字符串, 转字节数组等等
ava 常用流处理工具 StreamTool ,常见的InputStream 流转字符串, 转字节数组等等 **应用场景: ** 1. 文件上传 2. js / css / img 等文件读取输出. ...
- 【meet in middle】poj1840Eqs
震惊!map的常数居然如此之大 Description Consider equations having the following form: a1x13+ a2x23+ a3x33+ a4x43 ...
- activiti工作流使用一般步骤
activiti工作流使用的一般步骤 一.在eclipse或Myeclipse中安装activiti插件: 二.通过activiti连接数据库,有以下两种连接数据库的形式: 1.通过java代码链接数 ...
- Shell脚本的条件测试与比较
Shell脚本的条件测试与比较 一.shell脚本的条件测试 通常,在bash的各种条件结构和流程控制结构中都要进行各种测试,然后根据测试结构执行不同的操作,有时也会与if等条件语句相结合,来完成测试 ...
- 我的Python分析成长之路11
数据预处理 如何对数据进行预处理,提高数据质量,是数据分析中重要的问题. 1.数据合并 堆叠合并数据,堆叠就是简单地把两个表拼在一起,也被称为轴向链接,绑定或连接.依照轴的方向,数据堆叠可分为横向堆叠 ...
- web开发框架之Django基础
在脚本中如何进行Django的运行 if __name__ == '__main__': import os import django # 注意路径(当前所在的位置,要加载Django的配置文件) ...
- int main(int argc,char *argv[])的具体含义
int main(int argc,char * argv[]) argv为指针的指针 argc为整数 char **argv or: char *argv[] or: char argv[][] m ...
- ython——杂货铺
三目运算: >>> 1 if 5>3 else 0 1 >>> 1 if 5<3 else 0 0 深浅拷贝: 一.数字和字符串 对于 数字 和 字符串 ...
- 关于hadoop学习的思考(一) —— 小的知识点的总结
一.对于CDH的小总结: CDH:是Cloudera公司在Apache开源项目hadoop的基础上发型的,共有五个版本前两个已不再更新,最经的两个分别是CDH4(基于hadoop2.0.0版本演化而来 ...