—–本文内容全部来自于慕课网上的用户笔记,我只是整理过来—-
使用线性布局
http://www.imooc.com/video/1756
摘自 Joey
一、android:layout_gravity & android:gravity区别

1、android:gravity:决定其子类控件在该控件里的显示位置。

2、android:layout_gravity:这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。

Tips:
一个属性可以包含多个值,需用“|”分开,例 android:gravity="bottom|center_horizontal"

二、子控件

1、子类控件在LinearLayout中常用到的属性
android:layout_gravity=“bottom” —— 指本身在当前父容器的XY的一个位置
android:layout_weight=“1” —— 指本身控件占当前父容器的一个比例(整型值和小数值都可以)

2、理解
当布局中只有两个按钮
button1设置android:layout_weight="2",button2设置 android:layout_weight="1"

    1.android:layout_height="wrap_content"         // 视图:button1占屏幕的2/3,button2占屏幕的1/3     2.android:layout_height=“match_parent”//(相反)        //  视图:button1占屏幕的1/3,button2占屏幕的2/3

一句话解释:
在layout_width設置為wrap_content的時候,layout_weight所代表的是你的控件要優先盡可能的小,但這個小是有限度的,即wrap_content。(依据权重值正向只瓜分剩余的空间)

layout_width設置為match_parent的時候,layout_weight所代表的是你的控件要優先盡可能的大,但這個大是有限度的,即match_parent。(依据权重值反向瓜分所有空间)

layout_heightlayout_width

Tips:布局中可以套布局(例:LinearLayout可以再套LinearLayout布局或其他布局)
一个orientationhorizontalLinearLayout中有一个TextView,则设置TextViewgravity属性为right是不起作用的。因为,水平的LinearLayout要从左边开始依次放置布局,所以设置TextViewgravity属性为right不起作用

相对布局RelativeLayout
http://www.imooc.com/video/1797
摘自 安颜希

android:layout_alignParentLeft="true"//子类控件相对当前父类容器靠左边    android:layout_alignParentTop="true"//子类控件相对父类容器靠上边    android:layout_marginLeft="41dp"//子类控件距离父类容器左边的距离    android:layout_marginTop="33dp"//子类控件距离父类容器上边的距离    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
http://www.imooc.com/video/1902
摘自 sioneden
1.Framelayout添加的组件无法制定放置的位置,而且后一组件会覆盖前一组件。可用于实现颜色渐变的效果,例如设置每个组件的大小渐渐减小。
2.Framelayout没有gravity属性,但可以为需要的组件添加layout_gravity属性来实现居中的效果
3.也可用于显示进度条的进度,单独ProgressBar无法显示文字

    android:foreground//设置前景图,在所有子视图的前面    android:background//设置背景    android:keepScreenOn//保持屏幕唤醒    android:foregroundGravity//设置前景图的位置

绝对布局AbsoluteLayout
http://www.imooc.com/video/1927
摘自 毒龙
(基本用不到。。。)
1.功能:
绝对布局控件,又叫坐标布局控件,可以直接子元素的绝对位置(x,y)
2.缺陷:由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差,在屏幕上的适配有缺陷
3.属性:

android:layout_xandroid:layout_y

表格布局 TableLayout
http://www.imooc.com/video/2062
摘自 qq_孤独行风_0

android:collapseColumns="0"//隐藏第一列android:collapseColumns="0,2"//隐藏第一、第三列android:shrinkColumns="3"//收缩第四列,当第四列的横向长度超出屏幕时将进行横向收缩,同时纵向拉伸,可能使内容不超出屏幕。android:shrinkColumns="1,2"//收缩第二、第三列。。。android:stretchColumns="3"//第三列横向拉伸,并占满横向的剩余空间。android:stretchColumns="*"//所有列都横向拉伸,表现为均衡分配。//在TableRaw下的子控件当中:1. android:layout_column: "n"//该控件占第几列。例如在该行的第一个子控件添加android:layout_column: "1"//则它会显示在第二列,而第一列变成空的。2. android:layout_span:"n"//该控件占据几列的宽度。

更多相关文章

  1. android:padding和android:margin的用法及区别
  2. Android中设置控件可见与不可见
  3. 饭后Android(安卓)第一餐-NavigationView+Toolbar(NavigationView
  4. Android用户界面 UI组件--ImageView及其子类ImageButton,QuickCo
  5. Android中RelativeLayout各个属性
  6. android layout属性
  7. C#开发Android手机应用全接触(mono for android)
  8. 【Android(安卓)UI】Android(安卓)Layout XML属性
  9. 控件位置

随机推荐

  1. sql函数实现去除字符串中的相同的字符串
  2. SQLSERVER的非聚集索引结构深度理解
  3. SQL Server简单模式下误删除堆表记录恢复
  4. SQLSERVER对索引的利用及非SARG运算符认
  5. SQLSERVER编译与重编译发生场景及重用的
  6. 存储过程实现订单号,流水单号(8位)的详细
  7. 你真的了解触发器么 数据实时同步更新问
  8. SQLSERVER语句的执行时间显示的统计结果
  9. SQLSERVER收集语句运行的统计信息并进行
  10. SQLSERVER中得到执行计划的两种方式