线性布局(LinearLayout)

线性布局,顾名思义,指的是整个Android布局中的控件摆放方式是以线性的方式摆放的

线性布局排列方式有:

  • 纵向:android:orientation="vertical"
    效果


  • 横向:android:orientation="horizontal"
    效果


上面是线性布局的基本样式,平时在开发中线性布局使用也是相对较多的一种布局方式
其中现象布局还有一个属性使用较多就是layout_weight,这个是占用剩余空间的权重
一般在使用时是针对LinearLayout的子元素,当然LinearLayout也可以设置父容器的总权重值

下面来看看 两个子元素的设置效果
布局文件.png
样式效果.png

上面的样式及效果说明:
首先线性布局是横向布局你,子元素中所有元素的宽度都设置为0,然后在设置对应的权重值,第一个为1,第二个为2,那么他们就各自占父元素的1/3和2/3。

现在给父元素设置一个android:weightSum="5",再看看效果
布局文件.png
效果.png

这样给父元素设置了weightSum之后 子元素的权重值就受到父元素的权重值得影响,子元素的权重值之和不能大于父元素的权重,如果子元素的权重值大于父元素的weightSum值,那么只取前面的,后面的元素就不会出现,页面也就看不到了。这种情况我也就不截图了,大家可以自行尝试。

下面再看看不给子元素设置默认宽度值为0dp,设置为wrap_content
布局文件.png
效果.png

看到这种情况,回想到是不是我这权重不起作用了呢,怎么没有达到预期的效果,为什么第一个明明应该占1/3,为啥成这个样子了呢?其实是没有问题的,一开始我们就说了,这个layout_weight是占剩余空间的权重,出现这种情况就不奇怪了。

总结:

在实际开发中我们用的最多的就是线性布局,再现性布局中,我个人认为最应该掌握的就是线性布局的权重值的使用。我一般使用的时候都会按照开始的那个效果,让所有子元素对应的宽或者高设置为0dp,这样就会按照咋们所想的效果来展示了,当然后面这样了例子在某些特殊场景下还是可以起到很好的作用的。

代码只会按照你所写的方式运行,不会按照你想的方式运行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,015评论 25 709
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,843评论 1 92
  • 线性布局是按照水平或垂直的顺序将子元素依次按照顺序排列,每一个元素都位于前面一个元素之后。 Android:lay...
    leo1091阅读 646评论 0 0
  • 麦太的佛罗伦萨 这礼拜麦太还是领大家逛佛罗伦萨 不过格调高一点 这回不买买买了 麦太带大家去看一个地方 在意大利佛...
    麦太西游记阅读 845评论 0 0
  • 早晨,迷迷糊糊的醒来,拿起手机瞥了一眼,才发现今天是7月21日。向来糊里糊涂、丢三落四的我,对于这个日子的记忆,却...
    陌晏阅读 700评论 1 0