随笔分类 - SOUI教程

摘要:SOUI3界面编辑器使用说明SOUI3 Editor发布及使用说明 阅读全文
posted @ 2021-12-14 15:12 启程软件 阅读(229) 评论(0) 推荐(0) 编辑
摘要:C++程序员最难的一环就是处理内存泄漏。 很多情况下,一个对象在一个模块里分配了内存,忘记了释放,或者在另一个模块里释放都会导致内存相关的问题。 SOUI中大部分暴露在应用层的对象都使用类似COM的引用计数来管理对象的生命周期,包含SWindow, ISkin, EventArg, SStringT 阅读全文
posted @ 2019-10-17 18:06 启程软件 阅读(1233) 评论(0) 推荐(1) 编辑
摘要:传统的XML文件通常是utf8编码的文本文件。使用文本文件好处在于方便查阅及修改。 SOUI使用XML做为布局描述语言,所有的布局资源都是XML。文本文件格式自由,XML解析器需要对文件中的字符逐个解析,最后生成DOM树。 解析过程还要判断各种格式合法性以及特殊符号的转义等工作,导致性能方面很难进一 阅读全文
posted @ 2019-09-20 23:53 启程软件 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:上一篇介绍了插值动画,插值动画是直接作用于窗口对象的。 数值动画则可以作用于任何对象。 SOUI内置了3种数值类型的动画,分别是SIntAnimator, SFloatAnimator, SColorAnimator,分别对应int, float, COLOR这3种数据类型,当然用户也可以扩展支持其 阅读全文
posted @ 2019-08-04 22:18 启程软件 阅读(1027) 评论(0) 推荐(0) 编辑
摘要:在Android系统中,有插值动画,数值动画,属性动画,帧动画。 帧动画,在SOUI里可以通过AnimateImg这个控件来实现,其它几种动画3.0之前不支持,需要类似动画效果,只能自己通过定时器去实现,实现成本比较高。 SOUI3.0增加了插值动画和数值动画支持,属性动画可以通过数值动画来实现,因 阅读全文
posted @ 2019-08-04 17:29 启程软件 阅读(1111) 评论(1) 推荐(0) 编辑
摘要:概要 注意:布局模板是SOUI 2.8.0.4 新增加的功能。之前版本不支持。 SOUI的listview等一系统控件支持通过模板来创建列表项,这里要说的模板不是指listview中的使用的列表项模板。 对于比较大的项目,在页面布局中可能会出现重复的布局结构,只是部分属性不一样。对于完全相同的布局, 阅读全文
posted @ 2019-03-14 10:16 启程软件 阅读(3700) 评论(0) 推荐(0) 编辑
摘要:在实现网格布局前,SOUI支持两种布局形式:相对布局,和线性布局,其中线性布局是2017年2月份才支持的布局。 这两年工作都在Android这里,Android里有号称5大布局(RelativeLayout, LinearLayout, FrameLayout, GridLayout,TableLa 阅读全文
posted @ 2017-07-05 23:16 启程软件 阅读(4349) 评论(0) 推荐(2) 编辑
摘要:第1讲-开发环境搭建 http://my.tv.sohu.com/us/282307706/89333168.shtml 第2讲- 基本应用程序框架代码解读 http://my.tv.sohu.com/pl/9259542/89334976.shtml 第3讲-SOUI的布局系统 http://my 阅读全文
posted @ 2017-06-08 09:47 启程软件 阅读(5793) 评论(0) 推荐(1) 编辑
摘要:和手机屏幕一样,高分屏在PC上使用越来越多。传统的桌面程序都是像素为单位进行UI布局,而且是适配传统的96dpi的显示器的。这就导致这些程序在高分屏上显示很小,用户用起来很难受。 虽然windows系统提供了桌面程序自动放大功能,但这个放大效果是以牺牲显示效果为代价的,一个在普屏上显示很好的软件到了 阅读全文
posted @ 2017-05-04 16:05 启程软件 阅读(5357) 评论(0) 推荐(1) 编辑
摘要:动态语言切换是很多国际化产品的需求,SOUI之前的版本支持静态多语言翻译,通过在程序启动时设置好语言翻译模块,在程序中打开的UI都会自动调用该翻译模块进行文字翻译,但是不支持运行进语言切换。 最近几个网友都提到这个需求,还是决定在SOUI实现一套动态多语言切换机制。 先看看运行效果: 多语言切换首先 阅读全文
posted @ 2017-04-21 12:31 启程软件 阅读(2623) 评论(0) 推荐(0) 编辑
摘要:SOUI 2.5.0.3開始支持窗口大小自適應。 2.5.0.3以前,宿主窗口要適應顯示內容大小比較麻煩,因爲一般都是佈局內容適應宿主。 SOUI 2.5.+開始支持線性佈局,線性佈局是借鑑的Android的線性佈局,對於內容自適應的支持更加理想。 要想窗口大小自適應,只需要在佈局的SOUI結點中指 阅读全文
posted @ 2017-03-26 08:35 启程软件 阅读(3165) 评论(0) 推荐(0) 编辑
摘要:SOUI 2.5.1.1开始支持线性布局(LinearLayout). 要在SOUI布局中使用线性布局, 需要在布局容器窗口里指定布局类型为vbox | hbox, (vbox为垂直线性布局, hbox为水平线性布局). 在指定布局类型后还可以为容器窗口指定gravity属性, 用来指定子窗口的默认 阅读全文
posted @ 2017-02-18 16:14 启程软件 阅读(3197) 评论(1) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2017-02-18 15:47 启程软件 阅读(1663) 评论(0) 推荐(0) 编辑
摘要:感谢网友"指尖"为SOUI开发的UiEditor, 目前该UI编辑器已经基本可用, 源代码在soui svn demos\uieditor. 下面是"指尖"提供的GIF动画教程. 大家快来膜拜"指尖", :) 阅读全文
posted @ 2016-10-27 15:00 启程软件 阅读(8498) 评论(6) 推荐(1) 编辑
摘要:概述 异步通知是客户端开发中常见的需求,比如在一个网络处理线程中要通知UI线程更新等等。 通常在Windows编程中,为了方便,我们一般会向UI线程的窗口句柄Post/Send一个窗口消息从而达到将非UI线程的事件切换到UI线程处理的目的。 在SOUI引入通知中心以前要在SOUI中处理非UI线程事件 阅读全文
posted @ 2016-07-04 23:27 启程软件 阅读(3849) 评论(0) 推荐(0) 编辑
摘要:在SOUI中,使用uires.idx这个文件来记录程序中使用的所有资源文件。 此外绘制对象(ISkinObj)则一般放在skin.xml中描述。 要向一个界面中增加一个新的图片,在没有uiresImporter之前,首先我们需要把新的图片资源增复制到uires下的某个目录下,然后在uires.idx 阅读全文
posted @ 2016-04-24 20:51 启程软件 阅读(2716) 评论(0) 推荐(1) 编辑
摘要:SOUI2.0之前,在SOUI中使用资源通常是直接使用这个资源的name(一个字符串)来引用。使用字符串的好处在于字符串能够表达这个资源的意义,因此使用字符串也是现代UI引擎常用的方式。 尽管直接使用字符串有意义明确的优点,它同样也有缺点: 1、字符串写错了,编译器不知道。这可能导致一些很难发现的B 阅读全文
posted @ 2016-02-22 16:09 启程软件 阅读(2991) 评论(2) 推荐(0) 编辑
摘要:SOUI中通过pos的标志如:[, {, }, ],这4个标志可以相对于前一个及后一个兄弟窗口,但是有时候希望相对于不是前后窗口的兄弟窗口,比如一个通过一个中心窗口同时定义它的上下左右4个窗口,这个时候应该如何处理? 其实SOUI是支持相对于任意一个兄弟窗口的,但是定义方法有点复杂,所以在之前的博客 阅读全文
posted @ 2016-01-27 19:57 启程软件 阅读(2672) 评论(1) 推荐(0) 编辑
摘要:如果你想使用SOUI最好有点WTL基础,一点点就行了。SOUI不依赖于WTL,但是SOUI的编码风格基本和WTL一样的:SOUI抄袭了WTL的消息处理形式,SOUI的事件处理也是模仿了WTL的消息映射宏。抄袭WTL的消息处理形式表现在两个层次:1、在SWindow及其派生类中处理消息使用WTL基本一... 阅读全文
posted @ 2016-01-04 22:21 启程软件 阅读(3254) 评论(0) 推荐(0) 编辑
摘要:如果SOUI的宿主窗口没有包含子窗口,直接使用窗口的半透明属性:translucent=1就可以解决了,整个窗口形状完全由背景图决定,可以实现完美的圆角。然后窗口半透明时,窗口中的子窗口(非SWindow)就不能正常显示,所以有时候不得不使用translucent=0,这时窗口就成了方形。实际上这个... 阅读全文
posted @ 2015-12-30 11:12 启程软件 阅读(3955) 评论(0) 推荐(0) 编辑