00:00
今天来说一下这个结底UI工程的使用啊,然后。我就拿695的一个DEMO举例子,然后695和696他俩是一样的,就是完全通用,你会的695也就会了,696全都是一样的,然后打开这个SDK。一般就是在houses这个路径下,会有一个UI工程。我看一下UI工程的原理,脚本,嗯,它本质上就是通过脚本去把UI的资源去拷贝到我们,就是通过大陆的去扫进我们的flash里。然后这边有一个UI res, 这里面就是一些就所有的UI资源。包括这边智库,然后。这个结底这3个文件是通过我们呃,UI绘图就是这个工具去生成的3个文件。然后呢?他会在大陆里。去把这个刚才UI那个res那个文件里边的。
01:01
资源拷贝到当前路径下,烧进flash里。啊,这边copy吗。然后拷贝到当前录对象,然后去烧。然后UI工具的使用。其实就只有两个工具,一个是绘图工具,一个是生成资源,就是把我们这些资源就是啊,重新拷贝到这个UI res就生成这3个。帮我打开看一下。路径就是这个路径,然后界面模式界面。点击这个step UI绘图。然后打开,打开就是有一堆界面嘛,然后。保存工程,我们每一次改图都需要重新保存,然后重新生成这个资源。然后再扫入进我们的flash里。删除当前页就是删除。
02:02
新建也是都是一样,然后嗯,公式缩放,就是你平数多大你就缩放成多大就可以了,然后全局设置,这个一般不用管,就是一些路径。他去拿走,这个不用管。然后我们新建一个页面嘛,呃,先来一个图层,然后再来一个布局。然后在布局上去放控件。然后我们这个图层,比如说我现在是减震屏,我这个就要设成OSD1,然后如果是彩屏,那就是OSD16这个。就是如果设置错了,这边生成资源文件的时候,他也会有警告,这个具体看你是什么屏。嗯,然后这个ID号就是我们这个。呃,控件的一个ID嘛,就是我们如果去在代码上去控制这个控件,那就是通过这个ID去控制这些方式。
03:01
就是左对齐右对齐,然后默认隐藏,就是上机之后是显示还是隐藏。然后我们直接用控件来说吧。比如说常用的一个图片,图片控件。它会自动生成一个ID号。然后这个标志没什么用,这个坐标就是XY上下移动,坐标宽度就是这个图多大,然后背景颜色。就是随便想设什么什么颜色,嗯,点视屏的话,一般就是相当于把原先那个图给覆盖了嘛,就是背景颜色都留着就可以,然后背景图片。呃,也是在这个路径下,随便选一场就可以。然后这个路径就是。我们是从这儿进的UI绘图嘛,打开这个project。里边就是这些图片,然后我想自己加图片就往里加就可以了,然后图片是PNG单设备的图。
04:05
嗯,这个你要,如果是不是这个规格的图片,它你往里放的时候,生存资源它会提醒你。然后这些一般都用不上图片列表,就是我如果想切图片,我一个控件上,就比如说这个控件,我想显示好几张图片,然后通过函数去切,那我就。往这边上面放一堆。然后通过函数切就可以了。然后文字,文字空间。嗯,也是同理嘛,对齐方式,然后默认隐藏,然后也是XY。然后背景图片。文字一般就不需要背景图片了,因为文字你就显示文字嘛,然后有一个编码格式,这个要注意。如果是我们通过就是文字列表,什么文字就是通过多元文字。去商城的。
05:01
去设置的文字列表,那我就用STRPS这个格式。嗯,先说一下这个。多个语言文字吧,就是有一个文字列表啊,这个列表是这么来的。就是还是回到刚才那个路径下。UI工程,然后UI tools.然后最下边有一个多国语言文字。打开就可以了,然后这边。你想有什么字,你直接就往上放就可以了。啊,比如说我想来一个。Ya.那我就直接往上放,然后这个中文英文什么的,就比如说我只用英文,那我就全全覆盖就可以了,然后。大小这个地方设置大小设置8上机就是8个像素点,大概设置6就是6,然后这个保存。
06:01
呃,记得保存一下啊,保存之后。在生成资源一下,就是把资源生成。现在应该是没有了,然后。关掉了保存一下啊。关掉,重新打开一下。好嘞,这边就有了。然后这个是多国语言文字。然后呃,有可能会出现这个WPS不兼容,就是你生成资源文件,它跟你说exe文件什么错误。就是不兼容的问题,你打开这个WPS,然后配置修复工具高级。选择这个2007就可以了,选择这个兼容就可以就是成功生成资源了。然后就是图片和文字。然后电池电量。
07:01
也是一样,同理就是完了放图片嘛。呃,表格控件。你看你这边生成一个表格控件吧,它本质上其实就是帮你生成了4个布局,然后你再在这个4个布局上面再去,比如说我添加一个文字啊,这个时候就是你选中这个布局,我往上一拖,它自动就跑到这个布局里去了,我选中这个布局。我再拖个文字,随便拖,它就自动去了。然后这是表格控件。锤子里边也是锤子里边儿。加完这个之后,右键添加行,比如说我添加3行,它会生成生成3个布局。啊,或者是设置行高啊。这个1。然后或者是。是不是间隔这些?然后我刚才设置是行高21嘛,我可以改回来。
08:02
要不然太小看不见,它其实就是也是每一个布局,然后我们往上再进行操作。点击这个布局,然后往上加空间。就可以了,然后在这个地方去调大小,因为我们在这个调的大小太费劲了嘛,直接在这个位置去调的大小。然后如果我们发现就是你看我一般看我的图片不是已经很小了,但我还是XY调不动,我就再点一下这个布局,让他刷新一下就就可以了。发现桥不动,就是点一下它的布局,让他刷新一下就可以了。然后。呃,自定义风险,这个就是一个滑块。啊,可以看一下。这个看的不太清晰啊。我删除一下。然后添加一个滑块,这是一个竖字的滑块。我可以把它的背景颜色设一下。
09:01
啊,他这个大字图片它就出来了。就是一个滑块嘛,然后。这个我也给他设个颜色。这个也是个颜色。然后我们去设置这个的大小,就是这个滑块粗多粗,然后多长。然后中间具体这个这个是PK车,这个是图片,比如说我这个这不也就是一个滑块吗?我这个长条就是一个PK。那我就是给他设置一个图片,设置成这个。然后你上机就去通过函数去控制。这个滑块,然后它就是这个P个身去上下动。就是这个意思。嗯,UI控件。就这些。然后这个刚才也说了这这个地方,然后那个文字,刚才那个文字,刚才说到这个编码格式这个地方,然后我一会儿再详细说一下。
10:07
其他的没什么了。呃,打开公司新闻工程这些保存工程并存为这些都啊,一看就知道怎么用。然后他这个其实它是有啊有资料的,其实可以自己看一下,大致都有了,就我们刚才解压出来嘛,然后功能模块说明。UI布局这边是有个点阵屏UI开发工具和UI布局工具使用说明。啊,这里边儿就有。然后刚才说的那个编码格式。这边文字空间有两种形式,一种是多个语言文字,一种是自定义,我们要用多个语言,就是我刚才整那个Excel表,那我就用STRPC,如果我要是用自定义,那我就给它改成啊asci,就是我们比如说我想显示一下呃,手机名,我这边连上蓝牙了,显示手机名,那这个时候需要我去实时的去显示嘛,啊,那我就需要asci这个格式去显示,如果定好了这个文字就固定显示,那我就用它的多个语言文字就可以了,很方便。
11:23
然后控件就这些,嗯,智库就是一个软件去生成一些字库文件嘛,我找一下这是我做的一个项目,里边有字库。UI工程,我就把它字库放在这个位置了,我给它粘贴复制过来,然后这是一个字库工具嘛,然后我点开点开这个应用。这边就会有汉字,然后选择字体。选择一下。刚才那个路径。
12:01
智库工具智公交在这个FNTS字体这里选,嗯,这个具体选哪个可以搜一下,没有什么固定标准,我一般就选这个最后一个。嗯,选择自己选完了嘛,然后。字体大小,这个就是几个像素点,然后带玩页。就是看你想选哪个,你是比如说我要简体中文,那我就采集字母。他一会儿就采,采集好了。啊,等它采集一下。啊,这边就显示文件生成成功,然后tab PX这两个文件。啊,刚才生成的是这两个吧,这两个文件,然后我直接把这个智库这个生成的文件去。拷贝到我们刚才说的这个这个资源文件,这是我之前拷贝的嘛,那它生成的是这个,那我直接改个名就好了。
13:03
比如说这个PX,我就直接给他改成。这个后缀都删掉也可以。然后tab这个不用改,直接粘贴复制解决就可以了,然后你上机。去通过啊,自定义那些文字显示的这个字是由字库的去控制的,然后我们通过原文字是通过我们那个Excel表去设置大小去控制的,这个是两种这个文字框两种形式吧,嗯,因为API的调用。嗯,这个也有一个文档。嗯,还是在这个地方点这平台开发工具。它这里边儿就是有所有的函数,UIAPI, 控件接口。嗯,Us so, 慢,比如说我想显示一个页面,直接就是通过调这个函数就可以了,这边都有注释。
14:00
然后这个页面就是原来绘图工具嘛,它的右下角它会有这些页面,比如列页面里,页面1我想显示哪个,就是通过这个函数去显示。然后包括。包括隐藏啊。这个用处不大。然后UFO和黑的就是刚才我们就是在UI绘图里边是可以设置控件的这些属性嘛,是隐藏还是显示,就有的时候我们需要同一个位置去。不同情况下显示两种不同的文字嘛,或者比如说我现在想显示多个语言文字,那我另就是下一个时间段,比如说我现在蓝牙模式显示多个原文字,我音用模式就是想显示我自己设定好的自定义文字,那我们就需要啊,把这个空件隐藏掉嘛,呃,调这个函数就可以了。然后获取一个ID。文本空间。
15:02
可以看到这边就是有s trpsic格式嘛,这个就是去切那个文字列表嘛。这个位置有一些文字,我们选中。然后通过这个函数去切就可以了。然后。这个位置。可以看。我认识这个ascii格式嘛,那他就是传字符串嘛。都只要这几个,还是都是通过ascii那个自定义文字去显示,然后tw tu u TF-8。BI扣的这些。然后图片这个是通过。啊,函数去切图片嘛,然后UI控件ID。把这些直接用就可以了,没有什么要注意的啊,我想一下啊。
16:03
这个UI的这个东西。就是隐藏隐藏界面,这个调用的时候需要注意一下,就是我们在隐藏在显示的时候,我们需要就是把这个控件去让它显示,刷新一下,从代码看吧。嗯。啊,比如说这个就是我想实时显示蓝牙的手机名嘛,那我们就通过刚才说的这个tu ascii去显示。就可以了。啊,这个位置就是我想就是隐藏掉,然后我再显示一下候,我去把这个控件,我再去让它显示一下,就不管显示什么,你就让它,嗯,再控制调用它一下这个函数,让他刷新一下就可以了,要不然它会不显示API这些函数没什么要说的。
17:00
直接调用就可以了,我是文本空间分两种嘛,一个是嗯,通过语言文字,一个是自定义,然后这个区分看。滑动条。滑动条是控制。最大的那个控件啊,打开看一下。比如说我在这个布局上去。加一个滑动条嘛,它会一下出来这么多,那我就去控制它最上面就是这个控件,调这个ID号就能控制点上屏的初始化和引响配置,还是从代码看吧,首先我们UUI就把UI功能给打开。啊UI总开关,然后这个地方是全是屏的样式搜一下。有。我这个地方选的就是点阵嘛,我要是选彩屏,我那个位置就是测彩屏,其实这个没啥太大用,这个是呃,他这个工程里原本自带的一些那些UI的那个体系,然后再去比如说他设立一些红啊去显示配置,我们要自己去用的时候。
18:12
这个配置也就没用,因为我们什么时候显示是我们定的嘛,它那个他原本那套逻辑就肯定用不了了,我这个地方就直接给他全显示配置2了,就是也不管了。这个其实没啥太大用,这个红s pis PI选的时候,这个不要跟那个我们那个flash的那个冲突就可以了。我这边比如说我这边选SSP1了,那我们上面这个硬件配置SSP来的时候,那这个就给它换成SSP2,如果你要用到什么。然后就是触发代码。我们拿到一个屏的时候,它会有肯定有资料嘛,他会有一些代码。直接就是放到他这个呃,橱窗里就可以了。
19:02
然后嗯,这个格式怎么搞,就其实嗯。他一般有可能给你发了一堆就是控制计算器那些代码吧,你直接就是把那些粘贴复制给豆包,然后让他就是把这个也复制给他,就是让他给你变成这种形式,他就会给你改,然后你直接用就可以问问豆包就可以这个地方,然后你就嗯哪一块是干啥的,问一下豆包就可以了,然后让他给你改变一下格式,变成呃结理这种格式就可以了。收发代码嘛,一般就是嗯。你买这个屏的时候,它会有一些代码。直接用就可以了,然后引角配置这个就根据你啊这个项目的原理图来定的。然后设置配置,就是在W.C的配置。
20:01
啊,这个位置。这去配置sat复位CS res br, 背光去配置引角,这个就是按照原理图件图哪个角是什么定义,你就配在这个位置配置就可以了,这个地方也是SPILCD嘛。直接配置就好了。然后注意事项,首先上店肯定是PRO PRO.然后PRO on里边有一个LCD UI PRO就是一个UI显示嘛,从这个地方开始显示。嗯,然后显示配置1啊,然后隐藏他这个,打开一个原版的啊。他就掉了一个超时定时器吗。啊,这个位置。首先就是UI这个函数,然后跑到这儿,然后再选择几个配置,这是他定好的宏啊,这个我们自己去改的时候就不跑他这个逻辑,我们直接写,比如说我直接写配置就可以了。
21:12
大写的配置0就可以了,不用管,然后他是掉了一个超时定时器。他这个是什么意思,就是啊,比如说我上店先显示一个啊图标嘛,就说welcome,然后显示个一两秒之后去给你切到,就是真正要显示的东西,就是大概就是这个意思。他给我定时器,然后显示隐藏,然后这个地方要注意就是,嗯,你如果是在这个过程中,就比如说你超时。这个一秒这个过程你去显示,比如说我现在我切到蓝牙那个蓝牙模式了吗?我蓝牙模式一切进去,直接去显示了一个,比如说配置5,然后呢。我这个地方。去通过这个一秒的这个那个定时器吧,又去隐藏,这个时候他有可能就会显示隐藏逻辑会打乱。
22:05
就会崩,你这个地方要需要注意一下。嗯,剩下就没什么,比如说我这个工程啊,看一下我这个里边就是我商店进入这个莱茵这个模式。那一,然后我去显示。啊,配置6了嘛,然后当我显示配置6的时候,他才就是刚超市完,他又去做了一些,就是这个这个里边超时检测里边的函数又去给我隐藏了,导致我这个显示这个逻辑乱了,就跑一跑这个程序啊,内存满了之后就会崩掉,就直接崩了。呃,然后每一次你显示之后,然后你要切到下一张,下一个配置你就隐藏一下就好了,嗯,可能要注意一下的就是,嗯,就比如说它这个函数里边。
23:01
他在退出模式,比如说现在我是破R模式嘛,然后我进蓝牙模式之前,或者是进来,我不是显示了一个配置6了吗?那我还没隐藏。调这个。配置2,因为它有一个自动去隐藏掉它塞power int这个是退出啊。就是我退出的时候,它会调用这个函数,自动去隐藏当前的这个界面,因为你基本上啊,每换一个模式,它都会更新一些图片嘛,比如说我现在蓝牙模式,我显示一个蓝牙图标,我音乐模式显示一个啊SD卡就是这个意思。它每一个函数里都有啊,这这个就是。T, 可能我就退出啊,这个东西它会自动隐藏,然后你在这个模式里边,你要是比如说我现在显显示配置6。嗯,然后我又想显示配置1了,那我就得把配置就也删掉。
24:02
可以了哦,我最后一次我通过这个他这个退出,比如说我要切模式的时候,我去显示新的,它直接通过这个就可以了,就不需要再隐藏了,不用管他自己就会帮你隐藏。嗯,剩下的就是。然后你比如说你想就是不同模式切图片嘛,切文字啥的,你也可以就是一进模式,我去通过调函数。比如说我通过这个UI test的收益,这个是by ID, 就是这个是一个test的文字嘛,比如说我现在。我想进来模式显示这个莱茵模式这事儿,那我就这地方去切我那个,切我那个空间的一个显示,然后我再退出的时候。就是我退出,因为我要退出进下一个模式嘛,那我就显示下一步进了音乐模式,那我们就直接在他退出的地方这个位置去给它再变成音乐模式,就让它显示另一个,这是一种方法。还有一个方法就是。
25:05
通过定时器去实时去判断我现在是什么模式,然后去刷这个界面也可以,嗯,这个定时器要注意,就是用这个系统定时器,如果要用这个user的话。会跟UC定时器,会跟那个UI的这个界面。会有冲突,然后用定时器去跑就可以了。我这个位置就是通过定时器啊,判断不同的模式去显示,去刷新这个界面吗。比如说光纤啊,同轴啊,音乐模式。去刷新,然后这个逻辑,逻辑不要乱了,这个逻辑写好就没啥问题,然后如果你发现控件调用了不好使,就看看你这个IDID对不对,这是父母,因为他是会变的嘛,嗯。它是会变的,就是它不全是b form什么什么什么,它有可能变成什么尼雷奥什么。
26:01
然后注意一下就可以。然后界面这一块,就是显示之后一定要给它隐藏掉,就是你要显示新的配置,隐藏掉再显示下一个,然后最后一次你通过。呃,这个退出里边有一个自动隐藏,就不需要自己再隐藏了,通过它就最后一次你最后一次显示的图片,你不需要再通过一些逻辑去隐藏掉显示新的,那么你就不就是通过这个自动去隐藏掉就可以了。它有一个获取当前UI界面的一个配置啊,这个获取前页面ID,它这个有点问题,我自己用的时候通过调用这个去隐藏界面有点问题的,嗯,建议大家还是可以自己试一下嘛,如果你们试的时候好使,嗯就用,如果不好使那就不要再一直用它,我用的时候反正是用的时候就崩了。剩下的就是嗯,你自己写的这个,你什么时候该显示什么,就按照逻辑跑就可以了,没什么特殊的。
我来说两句