在SOUI中使用线性布局

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>
时间: 2024-08-02 15:12:20

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

第五篇:在SOUI中使用XML布局窗口

窗口布局的概念 每一个UI都是由大量的界面元素构成的,在Windows编程,这些界面元素的最小单位通常称之为控件. 布局就是这些控件在主界面上的大小及相对位置. 传统的布局一般使用一个4个绝对坐标来定义一个控件在主窗口的位置.对于窗口是固定大小的界面来说,这种方式是最简单有效的. 然而问题在于在Windows系统上编程,基本上很少有程序的窗口是固定大小的,用户希望它的窗口能够随时调整大小.调整大小后界面里的控件还能够按照一定的规则进行重排. 我自己最讨厌的就是在WM_SIZE里重排控件位置. 随

在SOUI中使用网格布局

在实现网格布局前,SOUI支持两种布局形式:相对布局,和线性布局,其中线性布局是2017年2月份才支持的布局. 这两年工作都在Android这里,Android里有号称5大布局(RelativeLayout, LinearLayout, FrameLayout, GridLayout,TableLayout). FrameLayout很简单,在SOUI里一般用TabCtrl就实现了.RelativeLayout和SOUI自己的相对布局功能类似,线性布局也有了,但是一直没有实现GridLayout

Android中LinearLayout线性布局

android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局 android:gravity="top"(buttom.left.right.center_vertical.fill_vertical.center_horizontal.fill_horizontal.center.fill.clip_vertical.clip_horizontal)控制布局中控件的对齐方式.如果是没有子控件的控

安卓开发中的线性布局及重要属性

线性布局是安卓默认的布局方式 ,分为垂直线性布局和水平线性布局,分别表示为android:orientataion=”vertical”和android:orientation=”horizontal”.前者表示控件一垂直方式排列,即每行放一个控件:即所有控件都放在同一行,超出部分会被遮住 ?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sche

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

在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,java代码不需要更改,因为我们这里只是练习android的界面设计.参考的资料为mars老师的教程. 线性布局: 线性布局就是将各种控件按照行或者列依次进行排列. 其中本实验用到的各控件的属性解释如下: android:layout_weight属性是指不同的控件在activity中占有体积大小的比例. android:paddingL

Android学习系列(二)布局管理器之线性布局及其自定义实现

转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39643669 LinearLayout是Android控件中的线性布局控件,它包含的子控件将以横向(HORIZONTAL)或竖向(VERTICAL)的方式排列,按照相对位置来排列所有的子控件及引用的布局容器.超过边界时,某些控件将缺失或消失.因此一个垂直列表的每一行只会有一个控件或者是引用的布局容器. 一.LinearLayout线性布局的相关属性说明: android:orientat

Android中的LinearLayout布局

LinearLayout : 线性布局 在一般情况下,当有很多控件需要在一个界面列出来时,我们就可以使用线性布局(LinearLayout)了,  线性布局是按照垂直方向(vertical)或水平方向(horizontal)的顺序依次排序子元素,每一个子元素都位于前一个元素之后,下面我们就简单的了解一下吧 在XML布局文件中会遇到如下一些单位 px:是屏幕的像素点   dp:一个基于density的抽象单位,屏幕的物理尺寸   sp:同dp相似,但会根据用户的字体大小进行缩放 XML代码如下:改

表格布局和线性布局

 XML: 一种是事件流(SAX)的解析和(DOM)文档解析. 步骤: (1):在新建项目的res/layout下的项目目录布局文件 main.xml 中进行修改 (2):表格布局管理器: <TableLayout 其中为行的布局:    <TableRow (3):线性布局管理器: <LinearLayout 线性布局是将放入其中的组件按照垂直或水平方向来布局.在线性布局中,每一行(针对垂直排序)或每一列(针对水平排序) 中只能放一个组件,并且android中的线性布局不会换行,当到达

进阶篇-用户界面:3.android中的基本布局-layout

1.RelativeLayout       在RelativeLayout中,组件可以根据父级边界进行定位,除了这样的定位,也可以相对其他控件进行定位.特点是,可以随意拖动空间,拖到哪里就停到哪里. 代码中添加子对象: import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.RelativeLayout; import android.widget.Text