做过Android的都知道,TextView 可以设置selector的xml配置文件 可以根据控件不同的状态设置不同的颜色 比如:normal enable hover checked pressed等,SOUI同样有方法可以设置,详情请查看SOUI的属性列表手册:(红色标识的就是具体的属性)
text
静态文本控件
自身属性
属性名 | 值类型 | 默认值 | 描述 |
---|---|---|---|
interHeight | INT | 5 | 行间距 |
wordBreak | BOOL | 0 | 换行处是否保持单词完整 0 允许在单词内换行 1 保持单词在同一行 |
align | STRING | left | override,默认文本向左对齐 |
msgTransparent | INT | 1 | override,默认不接收鼠标和键盘消息 |
继承自window
属性名 | 值类型 | 默认值 | 描述 |
---|---|---|---|
id | INT | 0 | 控件ID |
name | STRING | 控件名称 | |
layout | STRING | souiLayout | 布局样式,支持3种布局 souiLayout 相对布局 gridLayout 网格布局 linearLayout 线性布局(分vbox、hbox两种) |
class | STRING | 属性集合的名称,定义于style中,类比HTML的class属性 | |
skin | STRING | 皮肤样式的名称,定义于skin中 | |
ncSkin | STRING | 非客户区的皮肤 | |
text | STRING | 显示的文本 | |
tip | STRING | 鼠标悬浮时的提示语 | |
trCtx | STRING | 翻译名,为空时使用<soui>的trCtx属性值 | |
data | INT | 0 | 指定一个附加的数据,可通过GetUserData获取 |
enable | BOOL | 1 | 控件是否可用 |
focusable | BOOL | 0 | 控件是否可获取焦点 |
visible | BOOL | 1 | 控件是否可见 |
show | BOOL | 1 | 同visible属性 |
display | BOOL | 1 | 隐藏时是否占位 0 不占位 1 占位 |
maxWidth | INT | -1 | 根据内容自适应大小时的最大宽度 |
float | BOOL | 0 | 位置是否固定不动 |
alpha | UINT | 255 | 控件的透明度(0-255),0为完全透明 |
layeredWindow | BOOL | 0 | 是否为分层窗口 |
msgTransparent | BOOL | 0 | 鼠标消息穿透,开启后控件接收不到鼠标和键盘消息 |
trackMouseEvent | BOOL | 0 | 鼠标事件跟踪,捕获子控件的鼠标消息 |
clipClient | BOOL | 0 | 限制内容只绘制在客户区,开启后超出控件边界的内容会被裁剪掉 |
cache | BOOL | 0 | 绘制缓存 0 无缓存,每次刷新时发送WM_PAINT消息重绘 1 创建绘制缓存,只有自己窗口更新才重绘,否则直接调用缓存绘制 |
drawFocusRect | BOOL | 1 | 是否绘制焦点虚框 |
multiLines | BOOL | 0 | 是否支持多行显示 |
align | STRING | center | 文本水平对齐方式 left 向左 right 向右 center 居中 |
valign | STRING | center | 文本垂直对齐方式 top 向上 bottom 向下 middle 居中 |
colorBkgnd | COLOR | 背景颜色 | |
colorBorder | COLOR | 边框颜色 | |
font | FONT | 正常状态的文本字体 | |
fontHover | FONT | 悬浮状态的文本字体 | |
fontPush | FONT | 按下状态的文本字体 | |
fontDisable | FONT | 禁用状态的文本字体 | |
colorText | COLOR | 正常状态的文本颜色 | |
colorTextHover | COLOR | 悬浮状态的文本颜色 | |
colorTextPush | COLOR | 按下状态的文本颜色 | |
colorTextDisable | COLOR | 禁用状态的文本颜色 | |
margin | INT|SIZE|RECT | 0 | 外边距(非客户区)的大小 |
margin-x | INT | 0 | 左右外边距 |
margin-y | INT | 0 | 上下外边距 |
padding | INT|SIZE|RECT | 0 | 内边距的大小 |
padding_left | INT | 0 | 左内边距 |
padding_top | INT | 0 | 上内边距 |
padding_right | INT | 0 | 右内边距 |
padding_bottom | INT | 0 | 下内边距 |
inset | INT|SIZE|RECT | 0 | 同padding属性 |
cursor | STRING | arrow | 鼠标停留时的光标资源,可取值有: arrow、hand、cross、wait、size、help等 |
dotted | BOOL | 1 | 文本超出边界时,是否使用末尾...显示 |
注意:别忘了msgTransparent="0"
如果是多出使用可以设置style
具体代码如下:
<SOUI name="mainWindow" title="@string/title" bigIcon="ICON_LOGO:32" smallIcon="ICON_LOGO:16" margin="5,5,5,5" resizable="1" wndType="appMain"
appWnd="1"
translucent="1"
>
<root skin="_skin.sys.wnd.bkgnd" cache="1" width="600" height="400" >
<caption pos="0,0,-0,30" show="1" font="adding:0">
<icon pos="10,8" src="ICON_LOGO:16"/>
<text pos="29,9">@string/title</text>
<imgbtn name="btn_close" skin="_skin.sys.btn.close" pos="-45,0" tip="close" animate="1"/>
<imgbtn name="btn_max" skin="_skin.sys.btn.maximize" pos="-83,0" animate="1" />
<imgbtn name="btn_restore" skin="_skin.sys.btn.restore" pos="-83,0" show="0" animate="1" />
<imgbtn name="btn_min" skin="_skin.sys.btn.minimize" pos="-121,0" animate="1" />
</caption>
<window pos="5,[2,-5,-5" >
<text pos="|0,|0" offset="-0.5,-0.5" colorText="@color/black" colorTextHover="@color/red" colorTextPush="@color/green" colorTextDisable="@color/blue" msgTransparent="0">
text 不同状态不同颜色显示的方法(注意别忘了msgTransparent="0")</text>
</window>
</root>
</SOUI>