一种基于Android平台的语言切换方法及系统的制作方法

文档序号:9235342阅读:301来源:国知局
一种基于Android平台的语言切换方法及系统的制作方法
【技术领域】
[0001]本发明涉及Android平台界面领域,尤其涉及一种基于Android平台的语言切换方法及系统。
【背景技术】
[0002]在Android 3D Π开发过程,我们需要根据不同国家的语言,更换不同的文字在Π界面显示。传统的做法是,换肤原则,把所有的国际化资源都放到So动态库中,一种语言对应一个动态库,程序运行的时候通过加载不同的So动态库来实现多语言功能的切换。这样做劣势在于:不能动态切换语言,如果更换语言就必须重新启动UI ;另外采用动态库的方法,如果程序需要修改资源的话,就要更新所有的动态库,这是一个繁琐且容易疏漏的工作。
[0003]因此,现有技术还有待于改进和发展。

【发明内容】

[0004]鉴于上述现有技术的不足,本发明的目的在于提供一种基于Android平台的语言切换方法及系统,旨在解决现有的Android平台语言切换过程繁琐、切换效率低、切换速度慢的问题。
[0005]本发明的技术方案如下:
一种基于Android平台的语言切换方法,其中,包括步骤:
A、在接收到语言切换指令时,获取当前各可见的显示板块的索引值,确定当前各可见的显示板块的优先级;
B、按照预设的优先级排序规则对当前各可见的显示板块进行语言切换,所述语言切换的过程包括:获取当前显示板块上各控件的字符串信息并按照预设多国语言资源文件确定目标语言类型的编码格式从而形成目标语言类型字符串并显示。
[0006]所述的基于Android平台的语言切换方法,其中,所述步骤A之前还包括:
Al、初始化多国语言资源文件,所述多国语言资源文件保存有各字符串的多国语言类型的编码格式,并将多国语言资源文件反序列化为内存对象;
A2、将各显示板块上的控件的字符串信息与多国语言资源文件保存的内容关联起来,并设置各显示板块的优先级。
[0007]所述的基于Android平台的语言切换方法,其中,所述语言切换过程具体包括:
B1、依次获取当前显示板块上需要切换语言的控件的字符串的当前编码格式,通过查找多国语言资源文件,获取相应的字符串目标语言类型的编码格式;
B2、将字符串转换为目标语言类型的编码格式,然后生成目标语言类型的图片;
B3、将图片生成纹理,并渲染到相应的控件上。
[0008]所述的基于Android平台的语言切换方法,其中,所述步骤A之前还包括:
当显示板块上安装新控件时,通过系统接口获取该控件的包名,并创建一个字体对象,将所述字体对象保存至多国语言资源文件中;当删除显示板块上的控件时,判断相应的字体对象是否被引用,若没有引用则删除相应的文字对象。
[0009]所述的基于Android平台的语言切换方法,其中,所述步骤B还包括:
按照预设的优先级排序规则,对当前不可见的显示板块的各控件,依次切换语言类型;或者,当接收到换屏指令时,返回到步骤A中获取当前各可见的显示模块的索引值并切换新的当前各可见的显示板块的控件语言类型。
[0010]所述的基于基于Android平台的语言切换方法,其中,所述步骤B还包括:
对当前可见的显示板块上控件进行裁剪测试,判断控件是否处于可视区域上,当是时,将所述控件的字符串切换为目标语言类型并进行显示。
[0011]—种基于Android平台的语言切换系统,其中,包括:
优先级确定模块,用于在接收到语言切换指令时,获取当前各可见的显示板块的索引值,确定当前各可见的显示板块的优先级;
语言切换模块,用于按照预设的优先级排序规则对当前各可见的显示板块进行语言切换,所述语言切换的过程包括:获取当前显示板块上各控件的字符串信息并按照预设多国语言资源文件确定目标语言类型的编码格式从而形成目标语言类型字符串并显示。
[0012]所述的基于Android平台的语言切换系统,其中,还包括:
初始化模块,用于初始化多国语言资源文件,所述多国语言资源文件保存有各字符串的多国语言类型的编码格式,并将多国语言资源文件反序列化为内存对象;
设置模块,用于将各显示板块上的控件的字符串信息与多国语言资源文件保存的内容关联起来,并设置各显示板块的优先级。
[0013]所述的基于Android平台的语言切换系统,其中,所述语言切换模块包括:
编码格式获取单元,用于依次获取当前显示板块上需要切换语言的控件的字符串的当前编码格式,通过查找多国语言资源文件,获取相应的字符串目标语言类型的编码格式;图片生成单元,用于将字符串转换为目标语言类型的编码格式,然后生成目标语言类型的图片;
纹理渲染单元,用于将图片生成纹理,并渲染到相应的控件上。
[0014]所述的基于Android平台的语言切换系统,其中,所述语言切换模块还用于:对当前可见的显示板块上控件进行裁剪测试,判断控件是否处于可视区域上,当是时,将所述控件的字符串切换为目标语言类型并进行显示。
[0015]有益效果:本发明先确定当前各可见的显示板块的优先级,按照预设的优先级排序规则对当前显示系统上各显示板块的控件进行语言切换,语言切换过程是通过获取各显示板块上控件字符串信息并按照预设的多国语言资源文件确定目标语言类型编码格式并形成目标语言类型的字符串,根据预设的优先级顺序对各显示模块进行语言切换无需重新启动整个Π界面即可自动切换语言,且在切换过程中只需读取多国语言资源文件无需启动Π界面从而启动对应的数据库,进而简化切换过程,提高了切换效率,同时只对判定处于可视区域的控件进行语言切换,保证在用户的可视区域内控件得到刷新,剔除了非可视区域的刷新,从而进一步地提高了语言切换速度。
【附图说明】
[0016]图1为本发明一种基于Android平台的语言切换方法较佳实施例的流程图。
[0017]图2为图1所示方法中的步骤SlOl之前较佳实施例的具体流程图。
[0018]图3为图1所示方法中的步骤S102较佳实施例的具体流程图。
[0019]图4为采用本发明的方法设置优先级时的界面示意图。
[0020]图5为按照优先级排序规则进行语言切换的先后顺序示意图。
[0021]图6为本发明一种基于Android平台的语言切换系统较佳实施例的结构框图。
[0022]图7为本发明一种基于Android平台的语言切换系统另一较佳实施例的结构框图。
[0023]图8为图6所示系统中语言切换模块较佳实施例的具体结构框图。
【具体实施方式】
[0024]本发明提供一种基于Android平台的语言切换方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025]请参阅图1,图1为本发明一种基于Android平台的语言切换方法较佳实施例的流程图,如图所示,其包括步骤:
5101、在接收到语言切换指令时,获取当前各可见的显示板块的索引值,确定当前各可见的显示板块的优先级;
5102、按照预设的优先级排序规则对当前各可见的显示板块进行语言切换,所述语言切换的过程包括:获取当前显示板块上各控件的字符串信息并按照预设多国语言资源文件确定目标语言类型的编码格式从而形成目标语言类型字符串并显示。
[0026]在本实施例中,显示板块包括可见的显示界面(即显示屏上可见的界面)、不可见的显示界面(即当前显示系统内隐藏的显示界面或部分可见部分隐藏的界面)以及设置在显示屏上的常驻栏(或称状态栏)及导航栏,那么,当前可见的显示板块就包括可见显示界面及常驻栏及导航栏。并且各显示板块具有一个索引值,例如移动终端的第一显示板块(第一屏)其索引值为1,第二显示板块(第二屏)其索引值为2,第三显示板块(第三屏)其索引值为3,依次类推,设置索引值是为了区别出哪些显示板块处于当前屏(即当前可见)的位置,当用户通过滑动或拖动等方式发出换屏指令时,则记录处于当前屏的显示板块的索引值,这样就能随时获知处于当前屏上是哪些显示板块。在移动终端上显示的常驻栏及导航栏也可以单独设置一个索引值,例如常驻栏索引值为10,导航栏索引值为11,常驻栏以及导航栏在换屏时一直处于最前端,即处于当前显示屏上。在移动终端同一屏上,对于可见的显示界面、常驻栏及导航栏,可以分别设置优先级,例如可见显示界面的优先级为第二级,常驻栏及导航栏的优先级为第一级,第二级大于第一级,当然也可设置成可见显示界面的优先级为第一级,常驻栏及导航栏的优先级为第二级,这样在接收到语言切换指令时,即可根据索引值来确定当前各可见的显示板块的优先级,即可见显示界面与常
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1