美文网首页
移动平台学习笔记

移动平台学习笔记

作者: MatrixFK | 来源:发表于2017-04-17 11:47 被阅读18次

1.ViewGroup

一个界面只能有一哥View,所以我们需要用ViewGroup来包裹着其他的View。如果不使用一个View的话,那么程序就会报错。

那么为什么会这样呢?根据我的猜想,我认为,是因为可能是为了后面的组件复用更加的方便。因为如果不是这样一个页面只有一个View,那么如果和别的界面组合在一起的时候,如果一个元素在上一层的时候没有父亲,组合起来的时候又要根据父元素定位,那么这个定位就如何确定呢?

所以干脆就直接一个页面一个父元素,简单又干练。

View Group

View之间的关系:父亲,兄弟,孩子

通过父亲关系的View,我们可以实现View与View的组合,这样来提高我们的组件复用率
通过兄弟View,我们可以实现多个View的并列。
而孩子View则是与父亲View相匹配的,功能相同。

2.布局的更具体的内容

  • 2.1 线性布局

线性布局默认是垂直布局,决定它如何布局的是orientation这个属性。

如果我们要使用水平布局,改变它的属性即可。

那如果我们要实现对角线布局,就是斜着布局要怎么做呢?

这样就得通过使用三个线性布局加它的layout_weight来实现斜着布局。

斜着布局 orientation
  • 2.2 子视图的宽度

子视图的宽度有三种方式,第一种是绝对的宽度,可以写上200dp,另外一种就是warp_content,由内容决定宽度,最后一种是与父元素保持一致。
同样的,高度也是一样的设置方式。


三种宽度

在平板上布局,要解决自动平衡的问题,应该使用layout weight来实现,其实对应的就是html5中的flex布局。

layout布局
  • 2.3 相对布局

相对布局是通过对父元素的位置来计算自己的位置,通过各种属性的设置,来实现更加灵活的布局。
例如可以设置与父元素的上边缘对其,左边缘对齐等。

相对布局
  • 2.4 padding 和 margin

用于让我们的界面更好看的呈现出来,比如说边框留白等。
与html5相同的,margin和padding只改变这个元素与别的元素的位置,而不改变这个元素本身的大小。所以,如果我们设置了一个元素的它的宽度是固定的,那么在设置padding的话,文字就会往中间挤。

相关文章

网友评论

      本文标题:移动平台学习笔记

      本文链接:https://www.haomeiwen.com/subject/zocaattx.html