zoukankan      html  css  js  c++  java
  • 小程序UI设计(6)-布局分解-九宫格

    今天我们来个庖丁解牛。对于一个完整的组合组件,看看通过工具是如何轻松完成的。
    首先看看九宫格完整的样子。
     
    结构树是这样的。在结构树中,我们可以看到WViewColumn下面有九个WViewRow。WViewColumn之上的我们可以不用管,这些是画布上的内容,为了辅助设计用的。9个WViewRow是九宫格中的实际元素item。
     
    每个item中图片和文字上下排列,九个item换行排列。那么这些是怎么做到的呢,当然是FlexBox的作用。下面详细介绍FlexBox属性对布局的影响。
    首先来介绍item的FlexBox属性。
     
    其中display肯定是flex。flex-direction=row表示主轴X是横向,也就是我们习惯的xy坐标系的原点在view的左上角,x轴向右,y轴向下。如果flex-direction=column则是x轴向下,y轴向右。我们实际应用中只要使用row这种方式应该都能完成大部分布局要求。
    flex-wrap=wrap表示换行。这个属性决定了内部组件图片和文字排列为两行。
    justify-content=space-around。这个属性表示在每行中元素的间隔方式。由于此例中第一行是图片,第二行是文字,所以此属性不起作用。后面课程中会介绍。
    align-items=center决定了在y轴上的排列,是垂直居中。结合justify-content=center的话,内部元素会水平、垂直居中。
    align-content=space-around表示图片和文字之间的行间距方式。顶端和底部都有留白,图片和文字之间有留白。顶部和底部的留白是图片和文字之间留白的一半大小。
    以上属性的设置,决定了内部元素在主轴x和副轴y的排列和间隔。我们在开始使用工具时,可以多改变一下每个属性的值,看看布局效果。然后将自动生成的wxml和wxss粘贴到微信开发者工具中预览。
    然后我们看看最外一侧view的flexbox属性设置
     
    display、flex-direction、flex-wrap这三个属性告诉浏览器我要用flex布局,并且横向排列和换行。
    justify-content、align-items和align-content都是flex-start,决定了内部组件在x轴是从原点向右紧挨着排列,在y轴上从原点向下紧挨着排列。这样就决定了9个item是从左上角向x和轴排列。当然我们也可以将这三个属性设置为center,表示从view的中心向四面排列,也可以做出9宫格。
    flexbox属性的组合很多,实际开发时结合此工具的使用可以做到事半功倍的效果。通过工具中属性的更改,便可所见即所得。
    工欲善其事必先利其器,熟练掌握一个工具的使用,势必提高我们的开发效率。大家刚开始使用此工具时,更多的变幻一下flexbox的属性,看看布局效果。当完全掌握后,会起到意想不到的效果。

  • 相关阅读:
    15. DML, DDL, LOGON 触发器
    5. 跟踪标记 (Trace Flag) 834, 845 对内存页行为的影响
    4. 跟踪标记 (Trace Flag) 610 对索引组织表(IOT)最小化日志
    14. 类似正则表达式的字符处理问题
    01. SELECT显示和PRINT打印超长的字符
    3. 跟踪标记 (Trace Flag) 1204, 1222 抓取死锁信息
    2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果
    1. 跟踪标记 (Trace Flag) 1117, 1118 文件增长及空间分配方式
    0. 跟踪标记 (Trace Flag) 简介
    SpringBoot + Redis + Shiro 实现权限管理(转)
  • 原文地址:https://www.cnblogs.com/myloveblogs/p/6169564.html
Copyright © 2011-2022 走看看