SOUI Text控件不同状态设置不同颜色的方法

做过Android的都知道,TextView 可以设置selector的xml配置文件 可以根据控件不同的状态设置不同的颜色 比如:normal enable hover checked pressed等,SOUI同样有方法可以设置,详情请查看SOUI的属性列表手册:(红色标识的就是具体的属性)

text

静态文本控件

自身属性

属性名值类型默认值描述
interHeightINT5行间距
wordBreakBOOL0换行处是否保持单词完整
0 允许在单词内换行
1 保持单词在同一行
alignSTRINGleftoverride,默认文本向左对齐
msgTransparentINT1override,默认不接收鼠标和键盘消息

继承自window

属性名值类型默认值描述
idINT0控件ID
nameSTRING控件名称
layoutSTRINGsouiLayout布局样式,支持3种布局
souiLayout 相对布局
gridLayout 网格布局
linearLayout 线性布局(分vbox、hbox两种)
classSTRING属性集合的名称,定义于style中,类比HTML的class属性
skinSTRING皮肤样式的名称,定义于skin中
ncSkinSTRING非客户区的皮肤
textSTRING显示的文本
tipSTRING鼠标悬浮时的提示语
trCtxSTRING翻译名,为空时使用<soui>的trCtx属性值
dataINT0指定一个附加的数据,可通过GetUserData获取
enableBOOL1控件是否可用
focusableBOOL0控件是否可获取焦点
visibleBOOL1控件是否可见
showBOOL1同visible属性
displayBOOL1隐藏时是否占位
0 不占位
1 占位
maxWidthINT-1根据内容自适应大小时的最大宽度
floatBOOL0位置是否固定不动
alphaUINT255控件的透明度(0-255),0为完全透明
layeredWindowBOOL0是否为分层窗口
msgTransparentBOOL0鼠标消息穿透,开启后控件接收不到鼠标和键盘消息
trackMouseEventBOOL0鼠标事件跟踪,捕获子控件的鼠标消息
clipClientBOOL0限制内容只绘制在客户区,开启后超出控件边界的内容会被裁剪掉
cacheBOOL0绘制缓存
0 无缓存,每次刷新时发送WM_PAINT消息重绘
1 创建绘制缓存,只有自己窗口更新才重绘,否则直接调用缓存绘制
drawFocusRectBOOL1是否绘制焦点虚框
multiLinesBOOL0是否支持多行显示
alignSTRINGcenter文本水平对齐方式
left 向左
right 向右
center 居中
valignSTRINGcenter文本垂直对齐方式
top 向上
bottom 向下
middle 居中
colorBkgndCOLOR背景颜色
colorBorderCOLOR边框颜色
fontFONT正常状态的文本字体
fontHoverFONT悬浮状态的文本字体
fontPushFONT按下状态的文本字体
fontDisableFONT禁用状态的文本字体
colorTextCOLOR正常状态的文本颜色
colorTextHoverCOLOR悬浮状态的文本颜色
colorTextPushCOLOR按下状态的文本颜色
colorTextDisableCOLOR禁用状态的文本颜色
marginINT|SIZE|RECT0外边距(非客户区)的大小
margin-xINT0左右外边距
margin-yINT0上下外边距
paddingINT|SIZE|RECT0内边距的大小
padding_leftINT0左内边距
padding_topINT0上内边距
padding_rightINT0右内边距
padding_bottomINT0下内边距
insetINT|SIZE|RECT0同padding属性
cursorSTRINGarrow鼠标停留时的光标资源,可取值有:
arrow、hand、cross、wait、size、help等
dottedBOOL1文本超出边界时,是否使用末尾...显示

注意:别忘了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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值