nim_duilib(16)之xml学习实战(GTAV加载窗口实现)
本文的目标
使用配置xml实现下面的结果
布局
整体采用水平布局,左边显示文字区域设置为垂直布局。
lets go
stage 1
创建一个空白窗体,并设置为半透明;同时,使得整个窗口可以移动,则 将caption填充整个窗口。代码如下
<?xml version="1.0" encoding="UTF-8"?>
<Window size="600,400" caption="0,0,0,400" shadowattached="false" roundcorner="4,4" >
<HBox bkcolor="bk_lightcolor_trans_50" height="stretch" width="stretch" >
</HBox>
</Window>
其中,bk_lightcolor_trans_50
的定义如下
<TextColor name="bk_lightcolor_trans_50" value="#9f101010" />
此时,效果如下(半透明窗口)
stage 2
- 右侧显示图片,用
VBox
代替,载一张图。 - xml的代码如下
<?xml version="1.0" encoding="UTF-8"?>
<Window size="1280,620" caption="0,0,0,620" shadowattached="false" >
<HBox bkcolor="bk_lightcolor_trans_50" height="stretch" width="stretch" >
<!--中间左边显示文字部分-->
<VBox height="auto" width="889" >
</VBox>
<!--右侧显示图片区域-->
<VBox class="bk_image_diamond_419x637"/>
</HBox>
</Window>
- 效果如下
其中,bk_image_diamond_419x637
的定义如下
<Class name="bk_image_diamond_419x637" width="419" height="647" bkimage="../bk_image/bk_diamond.png"/>
stage 3
- 配置左侧显示文字,使用垂直布局VBox承载3个控件(从上到下):title label、subtitle label 和 内容richedit。
为什么内容不用label? 没有找到label可以设置换行显示的属性配置。如果您知道如何配置Label多行显示和自动换行,欢迎留言交流。
- xml代码如下
<?xml version="1.0" encoding="UTF-8"?>
<Window size="1280,620" caption="0,0,0,620" shadowattached="false" >
<HBox bkcolor="bk_lightcolor_trans_50" height="stretch" width="stretch" >
<!--中间左边显示文字部分-->
<VBox height="auto" width="889" >
<Label class="label_tittle" text="GTA在线模式" margin="10,10,10,10" />
<Label class="label_subtitle" text="本周展台载具:贝飞特斯特林 GT" margin="10,5,5,5" />
<RichEdit class="label_content" text="速访名钻假日赌场大厅转动幸运轮盘,即有机会带走GTA游戏币、声望值、服装和各种神秘奖品。本周站台载具是贝飞特斯特林 GT,这是一款德国经典之作,其引擎盖下的强劲马力足以把您吓得瞬间迈入中年危机。"
multiline="true"
readonly="true"
margin="10,10,10,10"
width="stretch"
height="90"/>
</VBox>
<!--右侧显示图片区域-->
<VBox class="bk_image_diamond_419x637"/>
</HBox>
</Window>
其中,label_tittle、label_subtitle、label_content的定义如下
<Class name="label_tittle" font="system_60" normaltextcolor="white"/>
<Class name="label_subtitle" font="system_30" normaltextcolor="white"/>
<Class name="label_content" font="system_23" normaltextcolor="white"/>
而system_60和system_30和system_23定义如下:
<Font id="system_60" name="system" size="60"/>
<Font id="system_30" name="system" size="30"/>
<Font id="system_23" name="system" size="23"/>
其中,white的定义如下:
<TextColor name="white" value="#ffffffff"/>
- 效果如下
目标效果
nim_duilib(16)之xml学习实战(GTAV加载窗口实现)的更多相关文章
- 深入java虚拟机学习 -- 类的加载机制(续)
昨晚写 深入java虚拟机学习 -- 类的加载机制 都到1点半了,由于第二天还要工作,没有将上篇文章中的demo讲解写出来,今天抽时间补上昨晚的例子讲解. 这里我先把昨天的两份代码贴过来,重新看下: ...
- 【Java Web开发学习】Spring加载外部properties配置文件
[Java Web开发学习]Spring加载外部properties配置文件 转载:https://www.cnblogs.com/yangchongxing/p/9136505.html 1.声明属 ...
- Android学习——Fragment静态加载
从今天开始做一套安卓的学习笔记,开发环境是Android Studio,把学习过程中的知识和遇到的问题都写在这里,先从Fragment开始学起. Fragment概述 Fragment是Android ...
- 服务器启动时Webapp的web.xml中配置的加载顺序
一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...
- 服务器启动时Webapp的web.xml中配置的加载顺序(转载)
一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...
- 详解web.xml中元素的加载顺序
一.背景 最近在项目中遇到了启动时出现加载service注解注入失败的问题,后来经过不懈努力发现了是因为web.xml配置文件中的元素加载顺序导致的,那么就抽空研究了以下tomcat在启动时web.x ...
- 从高德 SDK 学习 Android 动态加载资源
前不久跑去折腾高德 SDK 中的 HUD 功能,相信用过该功能的用户都知道 HUD 界面上的导航转向图标是动态变化的.从高德官方导航 API 文档中 AMapNaviGuide 类的描述可知,导航转向 ...
- JS学习之动态加载script和style样式
前提:我们可以把一个网页里面的内容理解为一个XML或者说网页本身也就是一个XML文档,XML文档都有很特殊的象征:"标签"也叫"节点".我们都知道一个基本的网页 ...
- Cocos Creator学习六:加载/释放图片资源
1.目的:学习加载图片资源.使用图片资源创建对象以及释放图片资源. 2.注意事项以及主要函数: ①注意事项:使用loadRes函数,资源必须放置在assets下的resources文件夹下(默认没有r ...
随机推荐
- Linux基础——常用命令
find /grep /xargs /sort /uniq /tr /cut /paste /sed /awk......待续...... 1.find 名字查找: find . -name file ...
- linux 网络配置管理
[1]网络配置基础 (1)用户既可以通过命令行的方式,也可以通过友好的图形界面,轻松完成网络配置. (2)实现Linux网络配置的惟一目标就是修改系统中众多的网络配置文件, 如/etc/interfa ...
- HTML三层界面显示
1.效果示意图 2.主要标签属性 3.实现代码 1.效果示意图 要实现类似如下效果:点击"大模态框",中间出现一层遮盖整个页面的半透明页面,最上面出现"Large mod ...
- 【题解】洛谷P1001 A+B Problem
第一篇博客,献给2020年的残夏. 静听8月的热情与安宁,在竞赛中的时光如白驹过隙. 也不惧未知的风雨,努力向着既往的通途. 题目地址 https://www.luogu.com.cn/problem ...
- Idea中JSP页面中out内置对象报错out.println标红问题
问题如图: 解决方法: 导入jar包 1.在pom.xml的<dependencies>里面复制 <dependency> <groupId>javax.servl ...
- ython学习笔记(接口自动化框架 V2.0)
这个是根据上次框架版本进行的优化 用python获取excel文件中测试用例数据 通过requets测试接口.并使用正则表达式验证响应信息内容 生成xml文件测试报告 版本更新内容: 1. 整理了Cr ...
- size_type 和 size_t 的区别
标准库string里面有个函数size,用来返回字符串中的字符个数,具体用法如下:string st("The expense of spirit\n");cout << ...
- Oracle SQL中join方式总结
在ORACLE数据库中,表与表之间的SQL JOIN方式有多种(不仅表与表,还可以表与视图.物化视图等联结).SQL JOIN其实是一个逻辑概念,像NEST LOOP JOIN. HASH JOIN等 ...
- 基于阿里云ecs(centos 7) 安装jenkins
1. 安装好 jdk 2. 官网(https://pkg.jenkins.io/redhat-stable/)下载rpm包(稳定版): wget https://pkg.jenkins.io/redh ...
- mybatis处理集合、数组参数使用in查询等语句的两种方法
对于mybatis的参数类型是集合数组的时候进行查询. 第一种:参数list使用mybatis的标签 SELECT * FROM TABLE_NAME AS a <where> <i ...