【基础04】Android UI 绘制知识体系(二)

这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战

从使用 Android 基本 View 开始

上一篇说到 View 的功能和优点,现在就是实践写 View 代码的时间了。根据我 4 年的工作经历,虽然系统提供了千奇百怪的 View,但我们实际工作常用的很有限,只需要学会常用的大概十几个 View,就能应付绝大多数需求了。

今天直接进入实践,上最终效果:

scr0804.gif

一个这样的页面是不是稍微有点 App 的感觉了?这个页面只需要编写 xml 就能实现,而且在 Android Studio 里还能实时预览,这也是 View 框架的优点。

首先是一个可滑动的效果,需要用到 ScrollViewScrollView 可以选择横向或者纵向,默认纵向。

image.png

layout_widthlayout_height 是每个 View 都必备的属性,用于描述 View 的尺寸,可以是 wrap_contentmatch_parent 或者固定值(通常采取dp单位)。wrap_content代表取能包裹自身内容的最小值,match_parent代表取允许范围内的最大值,固定值则不进行计算,直接取当前输入的值。

「dp」是 Android 特有长度单位,表示一种与「屏幕像素密度」无关的长度,可以保证在不同的手机屏幕上,相同 dp 值显示的物理尺寸相同。类似的单位还有字体专用的 「sp」,默认情况下二者计算结果相同,但手机设置中的字体大小设置会影响 sp 的计算结果,所以文字尽量用 sp,但希望不受设置影响的文字也可以用 dp。

接下来是一个 LinearLayoutLinearLayout 会按一个方向依次排列子 View,默认为横向,所以我们手动设置 orientation 为 vertical。

image.png

接下来依次写入我们需要的 View,上面说明 View 内容的标签本身也是一个 TextView。下面的 View 基本没有设置额外属性,按照标签了解一下不同 View 的视觉效果即可,不再贴代码了。(代码有点多,建议直接看 github 上的文件:activity_base_view_demo.xml

再看两张静态效果图吧,系统提供的 View 通常有默认样式,在此基础上按需调整样式也是 Android 开发者的日常工作之一。

Screenshot_2021-08-04-21-05-05-07_9bc8af72dcba6d57e4af000915c99b14.jpg

Screenshot_2021-08-04-21-05-15-82_9bc8af72dcba6d57e4af000915c99b14.jpg

View 的使用有很多相似之处,比如各种能显示文字的 View 都通过 android:text 设置文字内容,见得多了就会下意识反应,所以前期随用随查即可,不用刻意背什么标签。


但是按这个节奏写下去,绘制知识体系可能会有很多很多篇,就变成了一直学习却写不出 App。所以 View 的一些原理和自定义 View 相关的内容暂缓一下,说完上一期列出的 View 的用法之后就开启后面的内容。

周内的文章时间有限,自我感觉内容还是太少了,大家有什么丰富内容建议能教教我吗(或许有人看到的话),救救孩子!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享