前几日在Google的微信公众号上看到有一个StudyJam的全球性活动正如火如荼展开ing,其目的是让更多人能加入到学习Android开发的行列中来。
其实个人以前也曾经陆续尝试通过一些在线视频和网站学习开发相关的知识,只是由于种种原因至今未能完成蜕变(明明就是懒),借这次活动拉了一群小伙伴一起学习感觉氛围和相互督促的作用应该会好很多,非常期待
图上的文字就是鄙组的名字——α-d0βe——取自Adobe的变形,以及“啊~逗比”的谐音,顺便感谢沈总赞助的logo👍
另外,鄙组全员都是程序员一生之敌——产品经理,参与这次活动一来是希望在日后的工作中可以跟开发GG们更好地沟(si)通(bi),二来也是觉得可以扩展一下个人技能树,都说流氓会武功最可怕,如果产品能对技术有更深一些的了解,以后再也至于被一句u can u up给噎死(当然,距离这一步应该还有很长的路要走)
这套课目前看来给我的感觉和以往学习所见的内容风格完全不同,更容易让初学者接受,起步难度也很低,对我们这些战五渣真的是太友好了😂
昨天正式开始了第一次学习,下面言归正传
关于View
两位视(xiang)频(sheng)讲(yan)师(yuan)在简单介绍完课程目标之后首先介绍了View,并介绍了其中的三个最基础的类型:
- TextView
- ImageView
- Button(没错,这里没有View!但人家也是View那一大家的)
- ImageView也能设置响应点击事件,Button也可以设置图片属性,有些情况如果混用了会傻傻分不清楚
- 在Android手机上开启开发者模式后,可以在其中打开“显示布局边界”的选项,这样所有你在手机屏幕上看见的画面都会将当前界面中各个View的边界显示出来,这样方便观察市面上其他App产品的布局方式进行借鉴
- 视频中提到的驼峰命名法通常在系统级的类名中是这样的,但以后自己做项目时自定义的方法首字母一般会用小写(似乎是这么说的?不知道有没有用词错误了),后面的每个单词首字母也还是要大写的
用这三种最基础的View就能拼凑出大多数市面可见的App的各种界面,比如最后介绍GooglePlay App的时候就介绍了其中大量的元素都是通过这三种基础View绘制出来的,另外还提到了一个ViewGroup的概念,这大概可以类比为PPT或Keynote里为了方便操作将多个不同元素组合起来统一操作的样子?
关于XML
在大致介绍了三种View之后基本就一直在介绍XML,在这里介绍的XML更类似针对上述View的样式配置文件,比如可以设置TextView中的文字的内容、字号大小、字体或背景色等等属性,以及View本身的大小也可以通过XML中对应的属性进行设置
- 视频中提到了很多属性不在XML中设置也会有一个默认值,但是经测试android:layout_width以及android:layout_height不设置时IDE会报错,以后实际操作时可能需要留心
- 视频中介绍了颜色可以直接定义RGB格式的色值,在实际使用过程中是可以使用ARGB格式的,即可在色值前再填写Alpha通道的值用来控制透明度
关于XML对各种View的定义可以通过Google提供的在线模拟器进行尝试和练习,这个页面还链了一份PDF文档,其中有各种常见View以及相关的常见属性的配置方式
其它
视频中还介绍到了一些与设计相关的概念,比如dp与px的区别,以及设置字体专用的sp
- px即pixel像素,在上古时期大家都适用px直接进行设计的,但是随着如今屏幕分辨率越来越高,像素密度越来愈大,等量px对应的物理面积已经越来越小,很多按照古早的px进行的设计在如今的屏幕上已经不再可行(比如最初的iOS人机交互指南中建议最小点击区域是44*44像素)
- dp就是为了解决上述问题而出现的一种新的计量单位,dp会根据当前设备的屏幕物理尺寸以及最高分辨率来进行定义,在保障物理面积的前提下对实际占用的像素进行增减(缩放),现在有不少UI设计师会把dp简单的归纳成开发用的一种区别于px的特殊计量单位,其实设计人员也是十分有必要了解dp的一些特性的,这样在最终提供切图时可以更加准确提高效率
- sp在视频中提到的一个重要特性就是,当字号设置为sp以后对应的文字就会随着用户在系统中定义的系统文字大小来进行调节(超大、大、小等),理论上这样做可以让产品更符合用户的个性需求,但是在实际操作过程中经常出现设置了超大文字的内容会影响最终的排版和布局的情况,在后续过程中应当留意(尤其是针对老年人的产品,老人的手机通常会设置大字号)
另外视频中还提到了可以使用一些配置文件中的字号映射来设置字号,而不是直接设置具体的字号大小,感觉上类似主题模式配置的方法,此处尚未细说,应该会在后续的视频中学到更完整的内容吧。