当前位置:   article > 正文

Android开发学习笔记之详解五大布局,我凭什么拿到了阿里、腾讯、今日头条3家大厂offer_安卓开发笔记

安卓开发笔记
  1. 21 android:gravity=“right”>

  2. 22 <Button android:id=“@+id/button2”

  3. 23

  4. 24 android:text=“Button”

  5. 25

  6. 26 android:layout_width=“wrap_content”

  7. 27

  8. 28 android:layout_height=“wrap_content”>

  9. 29 <Button android:text=“Button”

  10. 30

  11. 31 android:id=“@+id/button1”

  12. 32

  13. 33 android:layout_width=“wrap_content”

  14. 34

  15. 35 android:layout_height=“wrap_content”>

  16. 36

  17. 37

复制代码

最外层布局为垂直线性布局,宽度为整个屏幕(fill_parent),高度为刚好适合子控件(wrap_content)。然后依次添加一个EditText,一个水平布局的LinearLayout,在这个线性布局里面,摆放两个Button,该线性布局的gravity属性设置为”right”,所以里面的两个Button靠右显示。

二,TableLayout(表格布局)

把子元素放入到行与列中

不显示行、列或是单元格边界线

单元格不能横跨行,如HTML中一样

表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。TableRow可以添加子控件,每添加一个为一列。

android:layout_colum官方解释:The index of the column in which this child should be,也即是设置该控件在TableRow中所处的列。

android:layout_span官方解释:Defines how many columns this child should span,也即是设置该控件所跨越的列数。

android:collapseColumns官方解释:The 0 based index of the columns to collapse. The column indices must be separated by a comma: 1, 2, 5.也即是将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。

android:stretchColumns官方解释:The 0 based index of the columns to stretch. The column indices must be separated by a comma: 1, 2, 5. You can stretch all columns by using the value “*” instead. Note that a column can be marked stretchable and shrinkable at the same time.也即是设置指定的列为可伸展的列,可伸展的列会尽量伸展以填满所有可用的空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。

android:shrinkColumns官方解释:The 0 based index of the columns to shrink. The column indices must be separated by a comma: 1, 2, 5. You can shrink all columns by using the value “*” instead. 设置指定的列为可收缩的列。当可收缩的列太宽以至于让其他列显示不全时,会纵向延伸空间。当需要设置多列为可收缩时,将列序号用逗号隔开。

下面用一个例子简单说明TableLayout的用法:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 01 <?xml version="1.0" encoding="utf-8"?>

  2. 02 <TableLayout xmlns:android=“http://schemas.android.com/apk/res/android”

  3. 03 android:layout_width=“fill_parent”

  4. 04 android:layout_height=“fill_parent”

  5. 05 android:stretchColumns=“1”>

  6. 06

  7. 07 <TextView

  8. 08 android:layout_column=“1”

  9. 09 android:padding=“3dip” android:text=“Row1”/>

  10. 10 <TextView

  11. 11 android:text=“1”

  12. 12 android:gravity=“right”

  13. 13 android:padding=“3dip” />

  14. 14

  15. 15 <View

  16. 16 android:layout_height=“2dip”

  17. 17 android:background=“#FF909090” />

  18. 18

  19. 19 <TextView

  20. 20 android:text=“*”

  21. 21 android:padding=“3dip” />

  22. 22 <TextView

  23. 23 android:text=“Row12”

  24. 24 android:padding=“3dip” />

  25. 25 <TextView

  26. 26 android:text=“2”

  27. 27 android:gravity=“right”

  28. 28 android:padding=“3dip” />

  29. 29

  30. 30 <View

  31. 31 android:layout_height=“2dip”

  32. 32 android:background=“#FF909090” />

  33. 33

  34. 34 <TextView

  35. 35 android:layout_column=“1”

  36. 36 android:text=“Row13”

  37. 37 android:padding=“3dip” />

  38. 38

  39. 39

复制代码

三、RelativeLayout(相对布局)

相对布局的子控件会根据它们所设置的参照控件和参数进行相对布局。参照控件可以是父控件,也可以是其它子控件,但是被参照的控件必须要在参照它的控件之前定义。下面是一个简单的例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 01 <?xml version="1.0" encoding="utf-8"?>

  2. 02 <?xml version="1.0" encoding="utf-8"?>

  3. 03 <RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”

  4. 04 android:layout_width=“fill_parent”

  5. 05 android:layout_height=“fill_parent”

  6. 06 >

  7. 07 <AnalogClock

  8. 08 android:id=“@+id/aclock”

  9. 09 android:layout_width=“wrap_content”

  10. 10 android:layout_height=“wrap_content”

  11. 11 android:layout_centerInParent=“true” />

  12. 12 <DigitalClock

  13. 13 android:id=“@+id/dclock”

  14. 14 android:layout_width=“wrap_content”

  15. 15 android:layout_height=“wrap_content”

  16. 16 android:layout_below=“@id/aclock”

  17. 17 android:layout_alignLeft=“@id/aclock”

  18. 18 android:layout_marginLeft=“40px” />

  19. 19 <TextView

  20. 20 android:layout_width=“wrap_content”

  21. 21 android:layout_height=“wrap_content”

  22. 22 android:text=“当前时间:”

  23. 23 android:layout_toLeftOf=“@id/dclock”

  24. 24 android:layout_alignTop=“@id/aclock”/>

  25. 25

复制代码

四、AbsoluteLayout(绝对布局)

绝对布局的子控件需要指定相对于此坐标布局的横纵坐标值,否则将会像框架布局那样被排在左上角。手机应用需要适应不同的屏幕大小,而这种布局模型不能自适应屏幕尺寸大小,所以应用的相对较少。下面以一个例子简单说明绝对布局:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 01 <?xml version="1.0" encoding="utf-8"?>

  2. 02 <AbsoluteLayout xmlns:android=“http://schemas.android.com/apk/res/android”

  3. 03 android:layout_width=“fill_parent”

  4. 04 android:layout_height=“fill_parent”

  5. 05 >

  6. 06 <TextView

  7. 07 android:layout_width=“wrap_content”

  8. 08 android:layout_height=“wrap_content”

  9. 09 android:layout_x=“10px”

  10. 10 android:layout_y=“10px” android:text=“Textview”/>

  11. 11 <TextView

  12. 12 android:layout_width=“wrap_content”

  13. 13 android:layout_height=“wrap_content”

  14. 14 android:layout_x=“30px”

  15. 15 android:layout_y=“30px” android:text=“Textview”/>

  16. 16 <TextView

  17. 17 android:layout_width=“wrap_content”

  18. 18 android:layout_height=“wrap_content”

  19. 19 android:layout_x=“50px”

  20. 20 android:layout_y=“50px” android:text=“Textview”/>

  21. 21

复制代码

五、FrameLayout(框架布局)

框架布局是最简单的布局形式。所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的控件被放在最底层,最后一个添加到框架布局中的视图显示在最顶层,上一层的控件会覆盖下一层的控件。这种显示方式有些类似于堆栈。下面举一个简单的例子

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

总结

其实要轻松掌握很简单,要点就两个:

  1. 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
  2. 多练。 (视频优势是互动感强,容易集中注意力)

你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

以上就是总结的关于在面试的一些总结,希望对大家能有些帮助,除了这些面试中需要注意的问题,当然最重要的就是刷题了,这里放上我之前整理的一份超全的面试专题PDF

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

[外链图片转存中…(img-S55GnHJo-1712156235915)]

这里只是整理出来的部分面试题,后续会持续更新,希望通过这些高级面试题能够降低面试Android岗位的门槛,让更多的Android工程师理解Android系统,掌握Android系统。喜欢的话麻烦点击一个喜欢在关注一下~

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/685835
推荐阅读
相关标签
  

闽ICP备14008679号