—–本文内容全部来自于慕课网上的用户笔记,我只是整理过来—-
使用线性布局
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 相对布局 RelativeLayout
  2. UI控件之显示文本控件TextView(上)
  3. Android 学习1----控件的学习
  4. Android UI布局之LinearLayout
  5. android更换控件默认样式
  6. Android M新控件之FloatingActionButton,TextInputLayout,Snackbar
  7. android自学第二天 Android API Guide学习和LinearLayout布局及
  8. 技术总结--android篇(二)--布局的优化

随机推荐

  1. Android信使Messenger解析
  2. Android应用程序创建桌面快捷方式
  3. Android:上下拖动切换界面
  4. Google Android(安卓)文档笔记-Training-
  5. Android(安卓)GMS认证总结01
  6. android 文字滚动动画
  7. Android(安卓)HorizontalScrollview Exam
  8. android (23)
  9. Understanding Density Independence in
  10. ANDROID视图空间代码