写给 Android 开发的小程序 UI 布局指南(一)

作者:媒体转发 时间:2018-06-10 21:26

字号

写给 Android 开发的小程序 UI 布局指南(一)

 一、序

Hi,大家好,我是承香墨影!

最近在做小程序,验证一些方向,开发效率确实很快,就是各种微信的审核有点费劲,但是总归是有办法解决的。

想要开发一款小程序,其实和我们正常写一款 App 类似,你需要有精美的前端布局,并且同时还需要处理和前端 UI 组件的交互以及它们背后的逻辑。

最近会分享一些关于小程序的内容(不保证,想到哪里写到哪里),今天先说说接触小程序第一步:布局。

如果有前端经验的话,小程序是非常容易上手的,而对于新手,第一步当然是阅读小程序的官方文档,不过之后你马上就要面临布局的问题。

在小程序的开发框架中,会使用 Flex 排版布局,它可以帮助我们快速的在小程序中进行 UI 布局。虽说 Flex 现在已经被主流浏览器所支持,但是 flex 在一些低版本的浏览器上还有些许兼容的问题。不过在小程序中,这就不是我们需要考虑的了,微信已经帮我们处理好了。

接下来我就以完整的小程序来做示例,说说 flex 布局的那些事情。话不多说,言归正传。

二、什么是 Flex

Flex 是 2009 年,W3C 提出的一种新的布局适配方案,通过 Flex 布局,可以简便、完整、响应式的实现各种页面布局。经过这些年的发展,已经得到了所有浏览器的支持,基本上可以让我们放心使用。

Flex 布局是 Flexible Box 的缩写,直译过来就是 "弹性盒子",它也是基于 "盒子" 模型,将 UI 切割成一个一个小的盒子,来进行 UI 布局。

如果你不是在开发小程序,而是想单纯的开发移动前端,你也可以使用 Flex 布局。虽然 Flex 已经被所有浏览器支持,但是架不住有一些老旧的浏览器,例如:IE 9,也是存在不支持的情况的。不过我们只是开发小程序,就完全不用担心这一点。

三、Flex 如何使用

3.1 概述

Flex 的使用非常的简单,你只需要将 display 设置为 flex 就可以了。

display 除了 flex 还有一些其他可选参数,具体的你可以参见文档。

而在新手阶段,暂时只需要关注两个参数:

block :指定一个块级布局,它其内的元素,总是起一个新行来显示,而微信小程序的很多视图容器组件,默认的 displa 就是 block,例如:view、scroll-view、swiper 等。

flex:指定为 Flex 布局,它可以在盒子内显示子元素。

举个例子,看一下效果图:

写给 Android 开发的小程序 UI 布局指南(一)

display-flex

在这里,当不做特殊设置的时候,默认为 display:block 的状态,其内的每一个元素,都另起一行去展示。 display:flex 的话,我们就可以自由设置其内元素的布局形式,这里只是显示了 flex 默认的效果,实际上我们还可以通过 Flex 提供的不同的属性,进行更灵活的布局。

3.2 Flex 的方向轴

想要掌握 Flex 布局,你的心中时刻都需要有一个方向轴的概念。

在 Flex 布局中,天然存在两根方向轴:主轴和交叉轴。交叉轴在有些地方又被称为侧轴,其实是一个概念。

在默认情况下,主轴是沿着水平方向延伸,而交叉轴则正好与主轴呈交叉状态。

但是这并非不可改变,我们可以通过 flex-direction 属性,来改变主轴的方向,交叉轴的方向是相对于主轴存在的,当我们改变主轴方向后,交叉轴也被同时改变。

写给 Android 开发的小程序 UI 布局指南(一)

flex-cross

既然 Flex 布局也是通过一些属性来控制效果的,和我们正常写一个移动 App 是一样的,有一些属性是作用在父容器中的,有一些是作用在其内的子元素上的。

接下来我们就来分开讲解,这些 Flex 布局的时候,你需要使用到的属性。

3.3 Flex 在父容器上的属性

在父容器上,存在的属性有:

flex-direction:指定主轴的方向。

flex-wrap:指定超出父容器的时候,子元素的排列样式。

flex-flow:flex-direaction 和 flex-wrap 两个属性的组合简写形式。

justify-content:子元素在主轴的排列方向。

align-items:子元素在交叉轴上的排列方向。

align-content:多根轴线的对其方式。

这几个,除了 align-content 都是相对比较常用的属性。接下来我们就一一介绍这些属性,以及在小程序中的使用效果。

1) flex-direction

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
关键词 >>Android 开发 程序
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接