线性布局:LinearLayout常用的两个属性:1.android:orientation="vertical"--->该属性决定它子类控件的排布方式(vertical:垂直;horizontal:水平)2.android:gravity="center"--->该属性决定他子类的xy的位置(常用到的几个属性值如下:)(1)、center_vertical:垂直(Y轴)居中(2)、center_horizontal:水平(X轴)居中(3)、center:水平垂直都居中(4)、right:子类控件位于当前布局的右边(5)、left:子类控件位于当前布局的左边(6)、bottom:子类控件位于当前的下面
1.LinearLayout之gravity属性
android:gravity(重力)设置子控件的位置,也可以设置控件自身(这里是LinearLayout)内容的位置。例如left(左对齐)、right(右对齐)、bottom(底部)、center(居中)、center_horizontal(水平居中)、center_vertical(垂直居中)等等,另外比较重要的是它可以叠加效果,效果之间通过“|”隔开,举例:gravity="bottom|center_horizontal"表示底部水平居中。
2.layout_gravity 指控件自身的位置,也就是相对于其父类的位置。
3.layout_weight 权重,也就是控件自身占据父类容器的比例,当有多个控件,并且每个控件的weight都相同的时候,就是等分。
注意:控件的比例将受到控件自身的match_parent和wrap_parent的影响:比例与warp_parent成正比,比例越大,占据的空间越大;但比例和match_parent成反比,也就是比例越大,占据的空间反而越小。
3.布局之间是可以相互嵌套的,例如LinearLayout里面可以再嵌套一个LinearLayout布局。
4.设置orientation="vertical"时,gravity的纵向布局全部无效(bottom,top,center_vertical),且center只显示水平居中;
设置orientation="horizontal"时,gravity的横向布局无效(start,end,left,right,center_horizontal),且center只显示垂直居中
相对布局(RelativeLayout):RelativeLayout是相对布局控件,它包含的子控件将以控件之间的相对位置或者子类控件相对父类容器的位置的方式排列
相对布局的属性(子类控件在RelativeLayout中常用到得属性(相对父容器的一个位置)):
android:layout_alignParentLeft="true"  子类控件相对当前父类容器靠左边
android:layout_alignParentTop="true"  子类控件相对父类容器靠上边android:layout_marginLeft="41dp"       子类控件距离父类容器左边的距离
android:layout_marginTop="33dp"       子类控件距离父类容器上边的距离
android:layout_margin="40dp"             子类控件距离父类容器四周的距离android:layout_centerInParent="true"   子类控件相对父类容器即水平居中又垂直居中
android:layout_centerHorizontal="true"子类控件相对父类容器水平居中
android:layout_centerVertical="true"     子类控件相对父类容器垂直居中android:layout_below="@+id/button1"       该控件位于给定id控件的底部
android:layout_toRightOf="@+id/button1" 该控件位于给定id控件的右边
android:layout_above="@+id/button1"        该控件位于给定id控件的上面
android:layout_toLeftOf="@+id/button1"     该控件位于给定id控件的左边android:layout_alignBaseline="@+id/button1"该控件的内容与给定id控件的内容在一条线上android:layout_alignBottom        该控件的底部边缘与给定ID控件的底部边缘对齐
android:layout_alignLeft               该控件的左边缘与给定ID控件的左边缘对齐
android:layout_alignRight            该控件的右边缘与给定ID控件的右边缘对齐
android:layout_alignTop               该控件的顶部边缘与给定ID控件的顶部边缘对齐
帧布局 FrameLayout
1.在这个布局中,所有的子元素都不能被指定放置的位置,它们统统放于这个区域的左上角,并且后面的子元素直接覆盖前面的子元素,覆盖的部分是全部遮挡的。
2.子控件可以通过layout_gravity属性指定放置的位置。
3.如图是帧布局实现的进度条的效果:ProgressBar+TextView


AbsoluteLayout 绝对布局,在安卓开发中基本不会用到。
1. 绝对布局又可以叫做坐标布局,可以直接指定子元素的绝对位置(xy坐标)
2. 由于手机屏幕尺寸差别比较大
使用绝对定位的适应性会比较差,在屏幕的适配上有缺陷。
3. AbsoluteLayout子类控件的属性
android:layout_x="35dp" 设置当前子控件的x位置
android:layout_y="40dp" 设置当前子控件的y位置
TableLayout 表格布局,在API3.0之后推出的布局。
1.android:collapseColumns="1,2" -->隐藏从0开始的索引列。列直接必须用逗号隔开:1,2,52.android:shrinkColumns="1,2"-->收缩从0开始的索引列。当可收缩的列太宽(内容过多)不会被挤出屏幕,列直接必须用逗号隔开:1,2,5你可以通过 "*" 代替收缩所有列。注意一列能同时表示收缩和拉伸。3.android:stretchColumns="1,2"-->拉伸从0开始的索引列。以填满剩下的多余空白空间,列直接必须用逗号隔开:1,2,5,你可以通过 "*" 代替收缩所有列。注意一列能同时表示收缩和拉伸。
1. TableLayout表格布局模型以行列的形式管理子控件,每一行就是一个TableRaw对象,每个TableRaw里面又可以添加很多子控件,当然每一行也可以是其他的View对象,比如EditText、TextView。2. android:layout_column="1" -->该控件显示在第2列。 3. android:layout_span="2" -->该控件占据2列的宽度。4. TableLayout自身的属性,也就是全局属性: 每个属性可以同时赋予多个整数值,整数之间用“,”隔开,如果要表示所有列,则用“*”表示。整数n表示第(n-1)列。 列的隐藏、收缩、拉伸对应截图的三个属性


转载于:https://www.cnblogs.com/my334420/p/6691108.html

Android攻城狮——五布局相关推荐

  1. 写给即将/正在找工作的Android攻城狮

    写给即将/正在找工作的Android攻城狮 版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com 这段时间从北上广深杭不断传来一两个月找不到工作的消息,我一 ...

  2. Android攻城狮ListView

    适配器: 数据适配器:把复杂的数据填充在指定的视图界面上ArrayAdapter 数组适配器 用于绑定格式单一的数据 数据源:可以是集合或数组 SimpleAdapter 简单适配器:用于绑定格式复杂 ...

  3. Android攻城狮fragment

    1 //1,fragment静态加载:MainActivity MainActivty1_2 Myfragment1 2 //2,fragment动态加载 :MainActivity Myfragme ...

  4. Android攻城狮ScrollView

    ScrollView 滚动视图 滚动视图是指当前拥有很多内容,屏幕显示不完整时,需要通过滚动来显示完整的视图. ----------------------------- ScrollBar分两种: ...

  5. Android攻城狮ViewFlipper

    使用ViewFlipper实现屏幕切换动画效果. ViewFlipper和ViewPager一样,都是Android自带的一个多页面管理控件,不同的是ViewPager是手动切换页面,而ViewFli ...

  6. Android攻城狮Handler简介

    Handler是什么? Handler是Android提供的一套用来更新UI的机制,也是一套消息处理机制,可以通过它发送消息,也可以通过它处理消息. 所有Activity生命周期回调的方法(例如onC ...

  7. Android攻城狮重新认识Toast

    什么是Toast 1. Toast是一种提供给用户简洁提示信息的视图. 2. 该视图以悬浮于应用程序之上的形式呈现给用户.Toast提示界面不获取焦点,所以不影响用户的操作.Toast提示就是在不影响 ...

  8. Android攻城狮Gallery和ImageSwitcher制作图片浏览器

    使用Gallery 和 ImageSwitcher 制作图片浏览器 Gallery介绍 我们有时候在手机上或者PC上看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的图片滚动效果,还可以根据 ...

  9. Android攻城狮GestureDetector和GestureOverlayView

    手势识别 可以通过以下两种方式实现: 1. 使用GestureDetector 2. 使用GestureOverlayView(属于线程的控件)手势交互过程(原理): 1. 触屏一刹那,触发 Moti ...

  10. Android攻城狮数据存储之SharedPreferences

    Android的四种数据存储方式: 1. SharedPreferences 2. SQLite 3. Content Provider 4. File --------------------- S ...

最新文章

  1. html 常用方法,jquery的常用方法有哪些?
  2. C语言程序可以没有main函数
  3. mysql分页的高效算法_mysql_海量数据库的查询优化及分页算法方案
  4. python封装函数、实现将任意的对象序列化到磁盘上_Python系列之lambda、函数、序列化...
  5. workspace-project-target关系与解耦工程结构总结
  6. Spring Boot面试题
  7. azdb文件怎么打开_AZDBExplorerSvcs.dll
  8. 【动态规划】多重背包
  9. 揭秘!月薪30K的大牛到底看了哪些视频?【共2000G】
  10. python中的real是什么意思_为什么“1.real”语法错误,但“1 .real”在Python中有效?...
  11. 计算机必懂的54个英文单词和缩写
  12. JDK8帮助文档生成-笔记
  13. 医疗行业容灾备份建设迫在眉睫
  14. 最大公约数(GCD)和最小公倍数(LCM)
  15. 打造高性能高可靠的 Ceph 块存储系统
  16. QComboBox下拉框条目高度的调整
  17. 四旋翼自主飞行器探测跟踪系统项目的随笔
  18. 重启电脑后MySQL数据丢失_为什么当我重启电脑时会出现数据丢失?
  19. 前端面试题总结-初级
  20. 用python把文本转换为数字

热门文章

  1. zbrush 添加纹理贴图_ZBrush油泥粘土雕塑笔刷Digital Clay Pack
  2. Git——撤销和删除操作【git restore / git rm 】
  3. NoSQL的分类入门
  4. maven 阿里云仓库
  5. Zephyr_overlay文件讲解
  6. 从0开始html前端页面开发_CSS设置图像透明度
  7. 小议jQuery插件开发
  8. Windows移动开发(五)——初始XAML
  9. Windows 7程序开发系列之一(任务栏篇)
  10. 【Java基本功】一文读懂final关键字的用法 1