SJ-0141组 L1课程观后总结
功夫不负有心人,终于解锁了L1的课程,下面就分享一下视频和查询资料总结的知识点。
一、 ViewGroup
- Android中的View与我们以前理解的“视图”不同。
- 在Android中,View比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作系统中的window。
- ViewGroup是View的子类,所以它也具有View的特性,但它主要用来充当View的容器,将其中的View视作自己的孩子,对它的子View进行管理,当然它的孩子也可以是ViewGroup类型。
二、 LinearLayout(属于ViewGroup,五大布局中的流式布局)
- android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局
orientation属性是来规定LinearLayout怎么对它的子View经行排版 - android:gravity="top"(buttom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal)控制布局中控件的对齐方式。如果是没有子控件的控件设置此属性,表示其内容的对齐方式,比如说TextView里面文字的对齐方式;若是有子控件的控件设置此属性,则表示其子控件的对齐方式,gravity如果需要设置多个属性值,需要使用“|”进行组合
- android:gravity 与 android:layout_gravity的区别
android:gravity是指定本元素的子元素相对它的对齐方式。
android:layout_gravity是指定本元素相对它的父元素的对齐方式。 - android:layout_weight="1"通过设置控件的layout_weight属性以控制各个控件在布局中的相对大小,线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度的一半。如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度。
三、 RelativeLayout(属于ViewGroup,五大布局中的相对布局)
- RelativeLayout是一种相对布局,控件的位置是按照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最常用,也是最灵活的一种布局。
- 这里将这些属性分成组,便于理解和记忆。
1.第一类:属性值为true或false
android:layout_centerHrizontal水平居中
android:layout_centerVertical垂直居中
android:layout_centerInparent相对于父元素完全居中 android:layout_alignParentBottom贴紧父元素的下边缘 android:layout_alignParentLeft贴紧父元素的左边缘 android:layout_alignParentRight贴紧父元素的右边缘 android:layout_alignParentTop贴紧父元素的上边缘
2.第二类:属性值必须为id的引用名
@id/id_name
android:layout_below在某元素的下方
android:layout_above在某元素的的上方
android:layout_toLeftOf在某元素的左边
android:layout_toRightOf在某元素的右边
android:layout_alignTop本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight本元素的右边缘和某元素的的右边缘对齐
3.第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom离某元素底边缘的距离 android:layout_marginLeft离某元素左边缘的距离 android:layout_marginRight离某元素右边缘的距离 android:layout_marginTop离某元素上边缘的距离
四、内外边距
- 内边距padding:约束的是控件或布局显示的内容距离边框的距离,沿垂直边框向内压缩,padding越大,内容显示控件越小;
- 外边距margin:这是沿垂直边框向外延伸的距离, 它的意思就是给控件加了一个一定距离的空白边,显示效果只与值大小正负相关,与其他元素边界无关。