之前参加了网上的StudyJams第一阶段活动(一个 Google在线课程学习的活动),里面的视频讲解从最基本的开始,使用AS开发,同时提倡以发帖(每一课时的学习笔记)的方式来解锁下一课程,今天看到自己的帖子,突然很想写成博客,所以就有了这篇博文哈,好了,上正餐。
1.View是UI组件的始祖,我们所用到的TextView、Button、ImageView等等都是从它衍生而来,View本身表示一个视图,如我们在视图中添加所需的TextView、Button、ImageView等,当屏幕中涉及多个View时,需要用到ViewGroup,可以把ViewGroup看做是View的容器,在里面放入各种View
2.UI控件都写在XML文件中,而且控件是存在于布局之中,如可以在LinearLayout线性布局中定义TextView、Button……这些基本控件,控件名采用驼峰命名法,其中关键字的大小写不允许出错
3.在LinearLayout布局中,可以通过layout_weight属性(设置width为0dp或者height为0dp,然后添加weight属性设置所占比例)来使子View在父视图中按比例来排布, 如果只有一个子View中有weight属性,则会把父View中的多余的空白部分分配给子View
4.在RelativeLayout布局中,需要设置各子View的相对属性,例:alignParentTop表示与父View的上边缘对齐,alignParentLeft表示与父View的左边缘对齐...,可以使用layout_toLeftOf ="@id/子视图的id" 属性来设置当前子View位于指定id的子View的左侧,同理,可以使用toRightOf、toTopOf等等.在切换布局的时候,需要注意RelativeLinear布局中是没有orientation这个属性的
5.padding是站在父view的角度描述问题,它规定它里面的内容与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如图,padding的效果可以看做是在文本框的里面添加空白部分,即间距;如图
,layout_margin的效果可以看做是在文本框的外围添加空白部分,即间距。如果同一级只有一个view,那么margin的效果基本上就和padding一样了
6.在没有定义View的排版时,视图会发生重叠,布局中视图标签的顺序决定了视图,例如:视图标签顺序为A、B、C,那么在屏幕上显示时,视图A会在最下面,接着放入视图B,视图B可能会覆盖掉视图B,最后放入视图C,视图C可能会覆盖掉视图A和B
7.在两个ViewGroup之间插入可以实现添加分界线的效果
网友评论