SOUI 2.5.1.1开始支持线性布局(LinearLayout).

要在SOUI布局中使用线性布局, 需要在布局容器窗口里指定布局类型为vbox | hbox, (vbox为垂直线性布局, hbox为水平线性布局).

在指定布局类型后还可以为容器窗口指定gravity属性, 用来指定子窗口的默认排列模式. vbox的gravity有:left(默认), center, right, hbox有: top(默认), center, bottom.

在线性布局中的子窗口pos属性没有意义, 一般直接指定size="width,height", width/height值: -1代表wrap_content, -2代表match_parent

可以使用layout_gravity可以更改当前窗口的排列模式.

使用extend="left,top,right,bottom", extend_left, extend_top, extend_right, extend_bottom来指定间距. (相当于android的margin)

子窗口支持使用weight属性.

看下面demo中的例子:

<page title="linear layout">
<!--这里演示在SOUI中使用线性布局,在window中指定layout="vbox,hbox,linearLayout"时窗口的子窗口布局变成自动布局模式-->
<window layout="vbox" size="-1,-1" colorBkgnd="#cccccc" gravity="center">
<!--线性布局的自适应子窗口大小-->
<text>vbox + gravity + wrapContent</text>
<window size="100,30" colorBkgnd="#ff0000"/>
<window size="200,30" extend="10,5,10,5" colorBkgnd="#ff0000"/>
<window size="120,30" layout_gravity="right" colorBkgnd="#ff0000"/>
</window> <window pos="0,[5,@-1,@200" layout="vbox" colorBkgnd="#cccccc">
<!--线性布局的weight属性-->
<text extend_bottom="10">vbox + gravity + weight</text>
<window size="100,30" colorBkgnd="#ff0000"/>
<window size="200,30" extend="10,5,10,5" colorBkgnd="#ff0000" weight="1"/>
<window size="120,30" layout_gravity="right" colorBkgnd="#ff0000" weight="1"/>
<button size="100,30" extend_top="10">button test</button>
</window> <window pos="0,[5" layout="vbox" colorBkgnd="#cccccc" id="10000">
<text extend_bottom="10" layout_gravity="center">hbox demo</text>
<window size="-1,-1" layout="hbox" colorBkgnd="#888888">
<!--线性布局之hbox-->
<button size="100,30">button1</button>
<button size="100,30" extend_left="10">button2</button>
<button size="100,30" extend_left="10">button3</button>
<button size="100,30" extend_left="10">button4</button>
</window>
</window>
</page>

在SOUI中使用线性布局的更多相关文章

  1. 在SOUI中使用网格布局

    在实现网格布局前,SOUI支持两种布局形式:相对布局,和线性布局,其中线性布局是2017年2月份才支持的布局. 这两年工作都在Android这里,Android里有号称5大布局(RelativeLay ...

  2. 第五篇:在SOUI中使用XML布局属性指引(pos, offset, pos2type)

    窗口布局的概念 每一个UI都是由大量的界面元素构成的,在Windows编程,这些界面元素的最小单位通常称之为控件. 布局就是这些控件在主界面上的大小及相对位置. 传统的布局一般使用一个4个绝对坐标来定 ...

  3. Android课程---布局管理器中的线性布局

    线性布局实例: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:andro ...

  4. Android中的LinearLayout布局

    LinearLayout : 线性布局 在一般情况下,当有很多控件需要在一个界面列出来时,我们就可以使用线性布局(LinearLayout)了,  线性布局是按照垂直方向(vertical)或水平方向 ...

  5. Android基础_2 Activity线性布局和表格布局

    在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,java代码不需要更改,因为我们这里只是 ...

  6. Android学习系列(二)布局管理器之线性布局的3种实现方式

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39643669 LinearLayout是Android控件中的线性布局控件,它包括的子控件 ...

  7. android中的常用布局管理器(三)

    接上篇博客 (5)TableLayout     表格布局管理器 在android中,线性布局和表格布局用的是最多的. 在很多的输出操作中,往往会使用表格的形式对显示的数据进行排版,tablelayo ...

  8. Android笔记(七) Android中的布局——线性布局

    我们的软件是由好多个界面组成的,而每个界面又由N多个控件组成,Android中借助布局来让各个空间有条不紊的摆放在界面上. 可以把布局看作是一个可以放置很多控件的容器,它可以按照一定的规律调整控件的位 ...

  9. Android-RelativeLayout(相对布局)、LinearLayout(线性布局)

    RelativeLayout(相对布局):按照各子元素之间的位置关系完成布局. 定位:android:layout_above="@id/xxx" --将控件置于给定ID控件之上 ...

随机推荐

  1. FMT 与 子集(逆)卷积

    本文参考了 Dance of Faith 大佬的博客 我们定义集合并卷积 \[ h_{S} = \sum_{L \subseteq S}^{} \sum_{R \subseteq S}^{} [L \ ...

  2. 洛谷 P2257 【YY的GCD】

    这道题还是和上一道[ZAP]有那么一点点的相似哈 题目大意 给定N, M,求1<=x<=N, 1<=y<=M且\(gcd(x, y)\)为质数的(x, y)有多少对 如果对莫比 ...

  3. Linux Centos7.x 安装部署Mysql5.7几种方式的操作手册

    简述 Linux  Centos7.x 操作系统版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所不同的,下面介绍下在centos7.x环境里安装mysql5.7的几种方法: 一. ...

  4. mac安装postman

    [在线方式]: 1. chrome扩展中搜postman,选择Postman Interceptor 添加到chrome. 2.安装完毕后,点击地址栏右边对应的按钮 点击 Postman Chrome ...

  5. maven 构建参数和命令

    mvn常用参数 mvn -e 显示详细错误 mvn -U 强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖) mvn -o 运行offline模式,不联网 ...

  6. java BIO/NIO/AIO 学习

    一.了解Unix网络编程5种I/O模型 1.1.阻塞式I/O模型 阻塞I/O(blocking I/O)模型,进程调用recvfrom,其系统调用直到数据报到达且被拷贝到应用进程的缓冲区中或者发生错误 ...

  7. DirectX11 With Windows SDK--07 添加光照与常用几何模型

    前言 对于3D游戏来说,合理的光照可以让游戏显得更加真实.接下来会介绍光照的各种分量,以及常见的光照模型.除此之外,该项目还用到了多个常量缓冲区,因此还会提及HLSL的常量缓冲区打包规则以及如何设置多 ...

  8. 第三节:总结.Net下后端的几种请求方式(WebClient、WebRequest、HttpClient)

    一. 前言 前端调用有Form表单提交,ajax提交,ajax一般是用Jquery的简化写法,在这里不再过多介绍: 后端调用大约有这些:WebCient.WebRequest.Httpclient.W ...

  9. Node.js实战项目学习系列(5) node基础模块 path

    前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录 ...

  10. CSS 水平垂直居中的几种实现方法

    前言 项目中经常碰到需要实现水平垂直居中的样式.下面就总结几种常用的方法 水平对齐+行高 [思路一]text-align + line-height实现单行文本水平垂直居中 <style> ...