SOUI官方论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 84|回复: 3

3+1上下结构布局,listctrl占满下部剩余高度

[复制链接]
  • TA的每日心情
    开心
    前天 08:28
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    85

    主题

    229

    帖子

    2294

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    2294
    发表于 2019-8-9 10:43:24 | 显示全部楼层 |阅读模式

    大布局为上下布局,上下平分,见下图的两个框,weight均为1。

    上面布局中又分为三个水平方向的3块,详见代码部分,各宽度受wegiht控制

    下面布局中有一个listctrl,想实现除上方文字外,占满竖直空间
    1. <?xml version="1.0"?>
    2. <include width="1204" height="508">
    3.         <window colorBkgnd="#E0EEEE" pos="0,0,-0,-0" font="adding:3" <font color="#ff0000">layout="vbox"</font>>
    4.                 <window size="-2,0" layout="hbox" <font color="#ff0000">weight="1"</font>>
    5.                         <window size="0,-2" layout="vbox" weight="2" margin="5">

    6.                         </window>
    7.                         <window size="0,-2" layout="vbox" weight="4">

    8.                         </window>
    9.                         <window size="0,-2" layout="vbox" weight="2">
    10.                                 <text pos="550,45" font="adding:5">帮助说明位置</text>
    11.                         </window>
    12.                 </window>
    13.                 <window size="-2,0" layout="vbox" <font color="#ff0000">weight="1"</font>>
    14.                         <text pos="[0,[10" font="adding:5">我是第三个用户登录</text>
    15.                         <listctrl name="listctrl" size="-2, 0" weight="1" hotTrack="1" itemHeight="20" headerHeight="30" font="underline:1">
    16.                                 <header align="left" itemSwapEnable="1" fixWidth="0" sortHeader="1" />
    17.                         </listctrl>
    18.                 </window>
    19.         </window>
    20. </include>
    复制代码


    重点说一下下方布局
    1. <window size="-2,0" layout="vbox" <font color="#ff0000">weight="1"</font>>
    2.                         <text pos="[0,[10" font="adding:5">我是第三个用户登录</text>
    3.                         <listctrl name="listctrl"<font color="#ff0000"> size="-2, 0" weight="1"</font> hotTrack="1" itemHeight="20" headerHeight="30" font="underline:1">
    4.                                 <header align="left" itemSwapEnable="1" fixWidth="0" sortHeader="1" />
    5.                         </listctrl>
    6.                 </window>
    复制代码
    此处为vbox布局,在vbox或hbox下,pos控制点无效,此时设置size=-2,0且weight="1"
    开始布局的时候,先按照listctrl的size指定的大小计算布局。计算完成后,如果父窗口在布局方向上还有剩余空间,就按照weight属性值在控件之间分配。

    所以如果你想要vbox两个控件高度完全相同,你就可以指定高度为0,并且给相同的weight。所有控件的weight属性默认是0


    由于vbox属于线性布局,上面的text(我是第三个用户登录)是要占用空间的,计算完text的空间后,然后再去计算下面listctrl的空间,此时weight=1则listctrl占用剩余的全部高度,若还有其它控件,则类推计算。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    该用户从未签到

    2

    主题

    84

    帖子

    246

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    246
    发表于 2019-8-9 11:15:46 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    3 天前
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    13

    帖子

    175

    积分

    24:00金丹期

    Rank: 2

    积分
    175
    发表于 2019-8-9 15:43:28 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    前天 09:41
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    15

    帖子

    249

    积分

    02:00元婴期

    Rank: 3Rank: 3

    积分
    249
    发表于 2019-8-9 15:56:22 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|SOUI官方论坛 ( 粤ICP备18103663号-2 )

    GMT+8, 2019-8-25 21:23

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表