before starting

note

截至目前,我只能用xml写一些简单的布局和设置控件属性,循序渐进吧。

正在学习nim_duilib的xml的一些属性。

xml配置半透明

GTAV中就有很多控件不透明而背景半透明的案例。刚进游戏的加载界面、任务找人界面......

shadowattached属性

<Attribute name="shadowattached" default="true" type="BOOL" comment="窗口是否附加阴影效果,如(true)"/>

它是一个窗口的属性,需要背景半透明,则需要设置shadowattachedfalse。其值及意义如下:

value 作用
true 默认值,给窗口加上阴影背景
false 则不会给窗口额外增加背景
当设置为false时,此时窗体的背景为全透明

颜色

一个例子

<TextColor name="bk_ground_color_trans_50" value="#8FBA6500" />

这样的例子,可以在global.xml中发现有很多。其中,name是为了方便引用该颜色;value是该项的颜色值。

Note,这里的颜色是16进制格式。

其中,value由以下几个部分组成:Alpha通道值RedGreenBlue.

name value
Alpha 8F
Red BA
Green 65
Blue 00
其中,alpha表示透明度,范围0~255, 255为不透明,0为全透明。

一个配置窗口半透明的例子

从上面可以知道,shadowattached设置为false,窗口此时为全透明,额,那么要实现半透明,就需要一个半透明的controls于当前窗口大小全匹配,这样就可以实现效果了,当然,理论上可以设置窗口的背景为一张半透明的背景图(此方法没有尝试过)。

Window标签

Window标签的代码如下

<Window size="900,600" caption="0,0,0,35" shadowattached="false"   >

size

size指定了窗口(宽X高)为900x600

caption

  • caption,一个例子,caption="x1,y1,x2,y2", 其中, 各个字段的意义如下
x1 距离左边界的距离;rcCaption.left
y1 距离上边界的距离; rcCaption.top
x2 距离右边界的距离;rcCaption.right
y2 距离上边界的距离; rcCaption.bottom

shadowattached

shadowattached设置为false,此时窗口时全透明的。

半透明标签

我用一个垂直布局控件VBox.贴合窗口,使其和窗口大小一致,这样,通过设置VBox的透明度实现半透明效果。

VBox 源码

 <VBox bkcolor="bk_ground_color_trans_50" height="stretch" width="stretch">

其中,bk_ground_color_trans_50来自上文的颜色中的例子,我把它定义在global.xml中。这里同时设定宽度和高度为拉伸,这样就能和窗口一样大了。

一个效果

可以看见,已经达到了我们想要的结果,控件不透明,窗口背景半透明。 效果差了点。

一个简单配置界面半透明的代码

样式



其中,blue为一个按钮

源码

上面的例子贴xml的代码,太长了,下面这个简单点。

<?xml version="1.0" encoding="UTF-8"?>
<Window size="500,500" shadowattached="false" roundcorner="10,10" >
<VBox bkcolor="bk_ground_color_trans_50">
<Control />
<VBox width="stretch" height="stretch">
<Control />
<HBox halign="center" width="auto" halign="center">
<Button class="btn_global_blue_80x30" text="blue"/>
</HBox>
<Control />
</VBox>
<Control />
</VBox>
</Window>

bk_ground_color_trans_50在上文中已经出现了。

nim_duilib(14)之xml配置半透明窗体控件不透明的更多相关文章

  1. IOS 设置视图半透明子控件不透明

    代码处理: UIColor *color = [[UIColor blackColor] colorWithAlphaComponent:0.6]; self.view.backgroundColor ...

  2. VC窗体透明而控件不透明以及Static文本背景透明方法

    出自http://my.oschina.net/ypimgt/blog/60951 优点:    1.Dialog 窗体完全透明.     2. 窗体上的控件不透明. DC 绘制的图形不透明.     ...

  3. winform窗体控件(全)

    回顾跟补充下除了昨天那常用6个其他的winform窗体控件作用 1:Button:按钮 (1)AutoSize:如果是True的情况下,内容将会撑开:False的话会另起一行 (2)Enabled: ...

  4. (转)sl简单自定义win窗体控件

    sl简单自定义win窗体控件      相信大家接触过不少win窗体控件ChildWin子窗口就的sl自带的一个  而且网上也有很多类似的控件,而今天我和大家分享下自己制作个win窗体控件,希望对初学 ...

  5. ASP.NET中 WebForm 窗体控件使用及总结【转】

    原文链接:http://www.cnblogs.com/ylbtech/archive/2013/03/06/2944675.html ASP.NET中 WebForm 窗体控件使用及总结. 1.A, ...

  6. 如何在多线程中调用winform窗体控件

    由于 Windows 窗体控件本质上不是线程安全的.因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入一种不一致的状态.还可能出现其他与线程相关的 bug,包 ...

  7. winform 自定义控件:半透明Loading控件

    winform  自定义控件:半透明Loading控件 by wgscd date:2015-05-05 效果: using System;using System.Drawing;using Sys ...

  8. C# winform 跨线程更改窗体控件的属性

    当winform程序中新开一个线程,是无法改变主线程中窗体控件的属性的,否则运行时会报错. 若想在其他线程中控制主线程中的窗体控件,则必须利用BeginInvoke方法. 例如:添加一个名为textb ...

  9. 如何:对 Windows 窗体控件进行线程安全调用

    http://msdn.microsoft.com/zh-cn/library/ms171728(VS.90).aspx http://msdn.microsoft.com/zh-cn/library ...

随机推荐

  1. 蓝绿部署、滚动部署、金丝雀(Canary)发布、灰度发布、A/B测试

    最近看到Canary发布,一时没有反应过来是什么,一查才发现就是鼎鼎有名的金丝雀发布,发现经常一起出现的还有灰度发布.蓝绿部署.滚动部署.A/B测试,故一起学习一下这几个概念. 1. 蓝绿部署 目的: ...

  2. 如何使用scp在Linux服务器的后台传输文件?

    目录 一.上传 常规操作 建议 后台运行 二.下载 两台服务器间文件如何传输?对于小文件,可以先从Linux服务器传到window,再传到另一台服务器.对于大的文件,如测序数据.比对文件等.这样的方法 ...

  3. 【百奥云GS专栏】全基因组选择之模型篇

    目录 1. 前言 2. BLUP方法 ABLUP GBLUP ssGBLUP RRBLUP 3. 贝叶斯方法 BayesA BayesB BayesC/Cπ/Dπ Bayesian Lasso 4. ...

  4. 【GS文献】植物全基因组选择育种技术原理与研究进展

    目录 1. 优势杂交育种预测 2. GS育种原理与模型算法 岭回归和LASSO回归 贝叶斯方法 GBLUP和RRBLUP 偏最小二乘法 支持向量机/支持向量回归 其他方法 3. 模型预测能力验证 4. ...

  5. python-django 模板的抽象和继承

    {% include %}只需要一句即可,不需要end***

  6. Identity Server 4 从入门到落地(四)—— 创建Web Api

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  7. Elaticsearch(一)--基础原理及用法

    一.基础概念 1.Elasticsearch简介 Lucene是Java语言编写的全文(全部的文本内容进行分析,建立索引,使之可以被搜索)检索引擎工具包(全文检索引擎的架构),用于处理纯文本的数据,提 ...

  8. 大数据学习day22------spark05------1. 学科最受欢迎老师解法补充 2. 自定义排序 3. spark任务执行过程 4. SparkTask的分类 5. Task的序列化 6. Task的多线程问题

    1. 学科最受欢迎老师解法补充 day21中该案例的解法四还有一个问题,就是当各个老师受欢迎度是一样的时候,其排序规则就处理不了,以下是对其优化的解法 实现方式五 FavoriteTeacher5 p ...

  9. C++字节对齐(对象大小)

    内部数据成员对齐参考这篇 https://www.cnblogs.com/area-h-p/p/10316128.html 这里只强调C++字节对齐特点 ①静态数据成员属于类域,在对象中不占大小 ②若 ...

  10. Rest使用get还是post

    1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过 ...