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. 【机器学习与R语言】10- 关联规则

    目录 1.理解关联规则 1)基本认识 2)Apriori算法 2.关联规则应用示例 1)收集数据 2)探索和准备数据 3)训练模型 4)评估性能 5)提高模型性能 1.理解关联规则 1)基本认识 购物 ...

  2. exit(0) exit(1) return() 3个的区别

    exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数中,则会退出函数并返回一值. 详细说: 1. return返回函数值,是关键字 ...

  3. php操作mongodb手册地址

    php操作mongodb手册地址: http://php.net/manual/zh/class.mongocollection.php

  4. LeetCode数组中重复的数字

    LeetCode 数组中重复的数字 题目描述 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次. ...

  5. LeetCode两数之和

    LeetCode 两数之和 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是 ...

  6. JavaScript中var与let的异同点

    var是JavaScript刚出现时就存在的变量声明关键字,而let作为ES6才出现的变量声明关键字,无疑两者之间存在着很大的区别.那么具体有哪些区别呢? 1.作用域表现形式不同,var是函数作用域, ...

  7. javascript的原型与原型链

    首先套用一句经典名言,JavaScript中万物皆对象. 但是对象又分为函数对象和普通对象. function f1(){}; var f2=function(){}; var f3=new Func ...

  8. day13 grep命令

    day13 grep命令 linux三剑客之grep命令 介绍 grep(global search regular expression(RE) and print out the line,全面搜 ...

  9. webservice--cxf和spring结合

    服务端: 实体: package entity; import java.util.Date; /*** 实体 */ public class Pojo { //温度 private String d ...

  10. 图书管理系统总结——数据库操纵(二):DML语句

    这里以最基本的DML语句作为例子,其他各种复杂的DML语句可以根据这些基本JDBC语句得到. 一.查询表格 这里以两张表关联查询为例,采用动态方式,根据输入的条件在WHERE语句后面接上相应的各种条件 ...