CN109710364A - 调整布局方式的方法、装置、电子设备及存储介质 - Google Patents
调整布局方式的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109710364A CN109710364A CN201811615131.5A CN201811615131A CN109710364A CN 109710364 A CN109710364 A CN 109710364A CN 201811615131 A CN201811615131 A CN 201811615131A CN 109710364 A CN109710364 A CN 109710364A
- Authority
- CN
- China
- Prior art keywords
- mode
- modified
- current
- character
- layout type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本公开实施例提供了一种调整布局方式的方法、装置、电子设备及存储介质,该方法包括:获取当前显示界面待显示的字符;确定字符的当前编码方式;若当前编码方式与当前显示界面的当前布局方式不适配,则对当前布局方式进行调整。本公开的实施例中的方案,当确定当前编码方式与当前布局方式不适配时,系统会自动对当前布局方式进行调整,以使当前布局方式适配于当前的编码方式。这样即使是较老的应用程序,系统也是可以自动调整,不需要对原有的代码进行重新编写,在一定程度上节省了时间成本以及人力成本。
Description
技术领域
本公开涉及计算机技术领域,具体而言,本公开涉及一种调整布局方式的方法、装置、电子设备及存储介质。
背景技术
现有方式中将电子设备使用的语言从LTR(Left to Right,从左到右)语言改变为RTL(Right to Left,从右到左)语言时,由于LTR语言的布局方式为从左到右,而RTL语言的布局方式为从右到左的方式,因此需要将终端的显示界面中需要显示的文字、图片、返回按钮等的布局方式进行调整,即将从左到右的布局方式修改为从右到左的布局方式。
但是,在实际应用中系统只会将文字的布局方式进行自动的适配,而其它的内容,例如图片、返回按钮等,系统虽然会在布局方式上做一定程度的适配,但是适配的非常局限。例如在IOS(由苹果公司开发的移动操作系统)体系里面,仅能在autolayout(自动布局)体系下才可以正确的适配。如view(视图)若采用frame(框架)方法确定布局方式,则系统无法自动调整布局方式,只能采用重新编写代码来实现布局方式的改变。
可见,现有技术中在使用的语言发生变化时,如使用的语言从LTR语言改变为RTL语言时,界面布局方式的调整方案不能够满足实际需求,而重新编写代码的方式会造成时间成本、人力成本的浪费。
发明内容
本公开的目的旨在至少能解决上述的技术缺陷之一,提升用户的使用体验。本公开采用的技术方案如下:
第一方面,本公开提供了一种调整布局方式的方法,该方法包括:
获取当前显示界面待显示的字符;
确定字符的当前编码方式;
若当前编码方式与当前显示界面的当前布局方式不适配,则对当前布局方式进行调整。
本公开的实施例中,字符为当前显示界面待显示的第一个字符。
本公开的实施例中,当前编码方式包括RTL语言的编码方式或者TRL语言的编码方式,当前布局方式包括RTL语言的布局方式或者TRL语言的布局方式。
本公开的实施例中,对当前布局方式进行调整,包括:
基于钩子hook(钩子)操作方式拦截View的setframe(显示框架设置)方法,并将setframe方法中的显示方向的相关信息进行修改,以使修改后的View的显示方向实现左右倒置;
和/或,
基于hook操作方式拦截lable(文本)的setAttributedstring(文本属性)方法,并将setAttributedstring方法中的文本对齐方向的相关信息进行修改,以使修改后的文本对齐方向实现反转;
和/或,
生成当前显示界面中待显示图片的镜像图片,并将待显示图片替换为镜像图片;
和/或,
基于hook操作方式拦截collection View(收藏视图)的alignment(对齐方式)方法,并将alignment方法中的对齐方向的相关信息进行修改,以使修改后的collectionView的对齐方向实现反转;
和/或,
基于hook操作方式拦截Gesture(手势)对应的滑动方向调整方法,并将滑动方向调整方法中的滑动方向的相关信息进行修改,以使修改后的滑动方向实现反转。
第二方面,本公开提供了一种调整布局方式的装置,该装置包括:
显示字符获取模块,用于获取当前显示界面待显示的字符;
编码方式确定模块,用于确定字符的当前编码方式;
布局方式调整模块,用于若当前编码方式与当前显示界面的当前布局方式不适配,则对当前布局方式进行调整。
本公开的实施例中,字符为当前显示界面待显示的第一个字符。
本公开的实施例中,当前编码方式包括RTL语言的编码方式或者TRL语言的编码方式,当前布局方式包括RTL语言的布局方式或者TRL语言的布局方式。
本公开的实施例中,布局方式调整模块在对当前布局方式进行调整时,具体用于:
基于hook操作方式拦截View的setframe方法,并将setframe方法中的显示方向的相关信息进行修改,以使修改后的View的显示方向实现左右倒置;
和/或,
基于hook操作方式拦截lable的setAttributedstring方法,并将setAttributedstring方法中的文本对齐方向的相关信息进行修改,以使修改后的文本对齐方向实现反转;
和/或,
生成当前显示界面中待显示图片的镜像图片,并将待显示图片替换为镜像图片;
和/或,
基于hook操作方式拦截collection View的alignment方法,并将alignment方法中的对齐方向的相关信息进行修改,以使修改后的collection View的对齐方向实现反转;
和/或,
基于hook操作方式拦截Gesture对应的滑动方向调整方法,并将滑动方向调整方法中的滑动方向的相关信息进行修改,以使修改后的滑动方向实现反转。
第三方面,本公开提供了一种电子设备,该电子设备包括处理器和存储器;
存储器,用于存储计算机操作指令;
处理器,用于通过调用计算机操作指令,执行如本公开的第一方面的任一实施例中所示的方法。
第四方面,本公开提供了一种计算机可读存储介质存储有计算机程序,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如本公开的第一方面的任一实施例中所示的方法。
本公开实施例提供的技术方案带来的有益效果是:
本公开的实施例中的方案,由于会根据当前显示界面待显示的字符确定当前编码方式,当确定当前编码方式与当前显示界面的当前布局方式不适配时,系统会自动对当前布局方式进行调整,以使当前布局方式适配当前的编码方式。这样即使是较老的应用程序,系统也是可以自动调整,不需要对原有的代码进行重新编写,在一定程度上节省了时间成本以及人力成本。
附图说明
为了更清楚地说明在本公开的实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍。
图1为本公开的实施例中一种调整布局方式的方法的流程示意图;
图2为本公开的实施例中一种显示界面的示意图;
图3a为本公开的实施例中一种View的布局方式示意图;
图3b为本公开的实施例中另一种View的布局方式示意图;
图4a为本公开的实施例中一种lable的布局方式示意图;
图4b为本公开的实施例中另一种lable的布局方式示意图;
图4c为本公开的实施例中再一种lable的布局方式示意图;
图5a为本公开的实施例中一种待显示图片的示意图;
图5b为本公开的实施例中另一种待显示图片的示意图;
图6a为本公开的实施例中一种collection View的布局方式示意图;
图6b为本公开的实施例中另一种collection View的布局方式示意图;
图7为本公开的实施例中一种调整布局方式的装置的结构示意图;
图8为本公开的实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,该实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开的技术感,而不能解释为对本公开的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本公开的说明书中使用的措辞“包括”是指存在该特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
现有方式中,当把电子设备的显示语言从TRL语言切换至RTL语言时,需要将从左到右的布局方式切换为从右到左的布局方式,此时系统会在布局方式上做一些调整,比如说将一段文字自动进行从右到左的排布,但是除了文字之外,显示界面中还有其它的内容,例如图片、返回按钮等,系统是不会做出正确的调整,如果是一个新的应用程序是从零开始做起的,那就可以直接做成从右到左的布局方式即可比较简单,但是对于较老的应用程序的话,系统是无法自动调整的,基于此,本公开实施例提供一种调整布局方式的方法。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
本公开的实施例提供了一种调整布局方式的方法,可以应用于电子设备切换当前使用的显示语言的场景中,如图1所示,该方法可以包括:
步骤S110,获取当前显示界面待显示的字符;
步骤S120,确定字符的当前编码方式;
步骤S130,若当前编码方式与当前显示界面的当前布局方式不适配,则对当前布局方式进行调整。
本公开的实施例中的方案,由于会根据当前显示界面待显示的字符确定当前编码方式,当确定当前编码方式与显示界面的当前布局方式不适配时,系统会自动对当前布局方式进行调整,以使当前布局方式适配当前的编码方式。这样即使是较老的应用程序,系统也是可以自动调整,不需要对原有的代码进行重新编写,在一定程度上节省了时间成本以及人力成本。
下面对本公开实施例中一种调整布局方式的方法进行详细描述。
步骤S110,获取当前显示界面待显示的字符。
其中,待显示的字符指的是当前显示界面上待显示的文字是由哪些字符组成的。在一示例中,在当前显示界面待显示的文字为“ok”,则“ok”的组成字符即为字符“o”和“k”。
在实际应用中,当接收到用户切换显示语言的操作后,会获取当前显示界面中待显示的信息,待显示的信息可以包括待显示的文字、图片等。进一步的,当已经获取到待显示的文字之后,也就会获取到待显示的字符。
在本公开实施例中,字符为当前显示界面待显示的第一个字符。
其中,获取的第一个字符具体为哪个文字的字符,本公开实施例不做限定。比如,可以任取当前显示界面中待显示的任意一个文字的组成字符中的第一个字符,也可以预先设置具体需要获取哪个文字的字符,假如预设需要获取当前显示界面待显示的文字中第一行中左边第一个文字作为获取第一个字符的文字,则在获取第一个字符时就会选取当前显示界面待显示的文字中第一行中左边第一个文字中的第一个字符作为获取到的字符。
在一示例中,如图2所示的一种显示界面,在该界面中显示有两行待显示的文字,第一行为待显示的文字A,文字B和文字C,第二行为待显示的文字D,文字E和文字F,预设需要获取当前显示界面待显示的文字中第一行中左边第一个文字作为获取第一个字符的文字,此时就会将文字A作为获取的字符。
步骤S120,确定字符的当前编码方式。
其中,编码方式指的是建立字符和二进制的关系时制定的编码规范,用于表示不同语言的字符,常见的字符编码方式包括Unicode、ASCII、GBK、GB2312和UTF-8等。在实际应用中,由于不同的国家有不同的字母。但是在使用ASCII码的编码方式时,代表的字母却不一样,比如,130在法语编码中代表了é,在希伯来语编码中却代表了字母在俄语编码中又会代表另一个符号,因此,在本公开实施例中可以根据获取到的字符确定出对应的编码方式,之后就可以根据确定的编码方式判断出电子设备当前所使用的显示语言,进而确定电子设备当前采用的布局方式。
在本公开实施例中,当前编码方式包括RTL语言的编码方式或者TRL语言的编码方式,当前布局方式包括RTL语言的布局方式或者TRL语言的布局方式。
其中,LTR语言指的是在显示界面采用从左到右的布局方式显示文字图片等信息的语言,如中文等;RTL语言指的是在显示界面采用从右到左的布局方式显示文字图片等信息的语言,如阿拉伯语等。
在一示例中,根据前显示界面待显示的第一个字符判断出编码方式为UTF-8为'\u202B',此时可以确定当前所使用的显示语言为RTL语言,当前布局方式为RTL语言的布局方式,即从右到左的布局方式。
步骤S130,若当前编码方式与当前显示界面的当前布局方式不适配,则对当前布局方式进行调整。
在实际应用中,若确定的编码方式为RTL语言的编码方式,说明需要采用的布局方式应该为从右到左的布局方式,若当前布局方式为LTR语言的布局方式,即为从左到右的布局方式,显然二者的布局方式是冲突的,此时就需要对当前布局方式进行调整;同理,若确定的编码方式为LTR语言的编码方式,说明需要采用的布局方式应该为从左到右的布局方式,若当前布局方式为RLT语言的布局方式,即为从右到左的布局方式,显然二者的布局方式是冲突的,则说明也需要对当前布局方式进行调整。因此,在本公开实施例中,以电子设备应用的系统为IOS系统为例,对调整当前布局方式的具体实施方式进行详细描述。
在本公开实施例中,对当前布局方式进行调整,包括:
方式1,基于hook操作方式拦截View的setframe方法,并将setframe方法中的显示方向的相关信息进行修改,以使修改后的View的显示方向实现左右倒置;
在实际应用中,对于View采用的布局方式若是通过frame实现的,且布局方式是从左到右的布局方式,而确定的编码方式为RTL语言的编码方式,即需要采用从右到左的布局方式,此时可以采用hook的操作方式拦截View的setframe方法,然后将该方法中的显示方向的相关信息进行修改,以使修改后的View的显示方向实现左右倒置。
在一示例中,如图3a所示,当前View(如图3a中A所示)的显示方向为靠当前显示界面的左边边框显示,确定当前编码方式的布局方式与当前显示界面当前的布局方式不适配,且需要将从左到右的布局方式修改为从右到左布局方式,此时可以通过hook的方式拦截setframe方法,将setframe方法中的显示方向的相关信息进行修改,以使修改后的相关信息表示的显示方向为靠当前显示界面的右边边框显示,修改后的效果如图3b中的A’所示。
方式2,基于hook操作方式拦截lable的setAttributedstring方法,并将setAttributedstring方法中的文本对齐方向的相关信息进行修改,以使修改后的文本对齐方向实现反转;
在实际应用中,当采用的显示语言从LTR语言变为RTL语言时,针对lable,IOS系统可以将文本的基础方向(也就是书写方向)进行修改。如切换显示语言之前为LTR语言,此时文本123的书写方向为从左到右,文本123具体如图4a中的书写方向,当将显示语言从LTR语言变为RTL语言时,IOS系统可以自动将文本的书写方向修改为从右到左的书写方向,文本123如图4b中的书写方向。但是文本的对齐方式IOS系统是无法改变的,此时需要采用hook操作方式拦截lable的setAttributedstring方法,然后将setAttributedstring中的文本对齐方向的相关信息进行修改,以使修改后的文本对齐方向实现反转。
在一示例中,文本的对齐方向为图4a中123采用的对齐方式,即采用的是左对齐,在确定当前编码方式与当前显示界面的当前布局方式不适配时,需要将从左到右的布局方式修改为从右到左布局方式,此时可以通过hook的方式拦截setAttributedstring方法,将setAttributedstring方法中的文本对齐方向的相关信息进行修改,以使修改后的相关信息表示的对齐方向为右对齐,修改后的对齐方向如图4c中123的对齐方式。
方式3,生成当前显示界面中待显示图片的镜像图片,并将待显示图片替换为镜像图片;
在实际应用中,当采用的显示语言从LTR语言变为RTL语言时,对于当前显示界面中的待显示图片,需要将待显示图片进行镜像翻转,但是IOS系统是不可以自动将待显示图片进行镜像翻转的,此时需要生成待显示图片的镜像图片,然后将待显示图片替换为镜像图片。其中,生成镜像图片的方式本公开实施例不做限定,比如可以预先写入一个将图片镜像翻转的方法,如该方法可以是flip(反转)方法,当需要生成镜像图片时直接调用该方法即可。
在一示例中,如图5a所示,当前显示界面中待显示图片为图片B,且确定当前编码方式与当前布局方式不适配,预先写入生成镜像图片的方法为flip方法,此时可以直接调用预先写入的flip方法,通过该方法可以在本地存储空间内生成图片B的镜像图片B’,然后从本地存储空间内获取镜像图片B’,将图片B替换为镜像图片B’,替换后的效果如图5b所示。
方式4,基于hook操作方式拦截collection View的alignment方法,并将alignment方法中的对齐方向的相关信息进行修改,以使修改后的collection View的对齐方向实现反转;
在实际应用中,对于collection View若采用的布局方式是通过layout实现的,且布局方式是从左到右的布局方式,而确定的编码方式为RTL语言的编码方式,即需要采用从右到左的布局方式,此时可以采用hook的操作方式拦截layout的alignment方法,然后将该方法中的对齐方向的相关信息进行修改,以使修改后的collection View的对齐方向实现反转,如将左对齐改为右对齐等。
在一示例中,如图6a所示,collection View包含6个单元,每个单元中包含需要显示的信息,如第一行中包括单元A和单元B,单元A中显示2,单元B中显示1。在确定当前编码方式与当前布局方式不适配时,需要将从左到右的布局方式修改为从右到左的布局方式,此时可以通过hook的方式拦截alignment方法,将alignment方法中的对齐方向的相关信息进行修改,以使修改后的相关信息表示的对齐方向为右对齐,即将每一行中显示的单元的对齐方向修改为右对齐,如图6b中第一行中的单元A和单元B修改后的效果。需要说明的是,修改对齐方向时只是对单元的对齐方向进行修改,对单元中显示的信息的对齐方向不影响。
方式5,基于hook操作方式拦截Gesture对应的滑动方向调整方法,并将滑动方向调整方法中的滑动方向的相关信息进行修改,以使修改后的滑动方向实现反转。
在实际应用中,当采用的显示语言从LTR语言变为RTL语言时,需要修改Gesture中的滑动方向,此时可以通过hook操作方式拦截Gesture对应的滑动方向调整方法,将该滑动方向调整方法中的相关信息进行修改,以使修改后的滑动方向实现反转,如将表示左滑的相关信息修改为表示右滑的相关信息,或将表示右滑的相关信息修改为表示左滑的相关信息等。
基于与图1所示方法的相同原理,本公开的实施例中还提供了一种调整布局方式的装置20,如图7所示,该装置20可以包括:显示字符获取模块210、编码方式确定模块220和布局方式调整模块230,其中,
显示字符获取模块210,用于获取当前显示界面待显示的字符;
编码方式确定模块220,用于确定字符的当前编码方式;
布局方式调整模块230,用于若当前编码方式与当前显示界面的当前布局方式不适配,则对当前布局方式进行调整。
本公开的实施例中,字符为当前显示界面待显示的第一个字符。
本公开的实施例中,当前编码方式包括RTL语言的编码方式或者TRL语言的编码方式,当前布局方式包括RTL语言的布局方式或者TRL语言的布局方式。
本公开的实施例中,布局方式调整模块在对当前布局方式进行调整时,具体用于:
基于hook操作方式拦截View的setframe方法,并将setframe方法中的显示方向的相关信息进行修改,以使修改后的View的显示方向实现左右倒置;
和/或,
基于hook操作方式拦截lable的setAttributedstring方法,并将setAttributedstring方法中的文本对齐方向的相关信息进行修改,以使修改后的文本对齐方向实现反转;
和/或,
生成当前显示界面中待显示图片的镜像图片,并将待显示图片替换为镜像图片;
和/或,
基于hook操作方式拦截collection View的alignment方法,并将alignment方法中的对齐方向的相关信息进行修改,以使修改后的collection View的对齐方向实现反转;
和/或,
基于hook操作方式拦截Gesture对应的滑动方向调整方法,并将滑动方向调整方法中的滑动方向的相关信息进行修改,以使修改后的滑动方向实现反转。
本公开的实施例中的方案,由于会根据当前显示界面待显示字符确定当前编码方式,当确定当前编码方式与当前布局方式不适配时,系统会自动对当前布局方式进行调整,以使当前布局方式适配当前编码方式。这样即使是较老的应用程序,系统也是可以自动调整,不需要对原有的代码进行重新编写,在一定程度上节省了时间成本以及人力成本。
本公开实施例调整布局方式的装置可执行本公开的实施例所提供的调整布局方式的方法,其实现原理相类似,本公开各实施例中的调整布局方式的装置中的各模块所执行的动作是与本公开各实施例中的调整布局方式的方法中的步骤相对应的,对于调整布局方式的装置的各模块的详细功能描述具体可以参见前文中所的对应的调整布局方式的方法中的描述,此处不再赘述。
基于与本公开的实施例中调整布局方式的方法相同的原理,本公开的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的方法。
基于与本公开的实施例中调整布局方式的方法相同的原理,本公开的实施例中还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,存储介质存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述实施例所示的方法,在此不再赘述。
本公开的实施例中的方案,由于会根据当前显示界面待显示的字符确定当前编码方式,当确定当前编码方式与当前布局方式不适配时,系统会自动对当前布局方式进行调整,以使当前布局方式适配当前编码方式。这样即使是较老的应用程序,系统也是可以自动调整,不需要对原有的代码进行重新编写,在一定程度上节省了时间成本以及人力成本。
下面参考图8,其示出了适于用来实现本公开实施例的电子设备800的结构示意图,该电子设备800可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括至少两个网际协议地址的节点评价请求,其中,节点评价设备从至少两个网际协议地址中,选取网际协议地址并返回;接收节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种调整布局方式的方法,其特征在于,包括:
获取当前显示界面待显示的字符;
确定所述字符的当前编码方式;
若所述当前编码方式与所述当前显示界面的当前布局方式不适配,则对所述当前布局方式进行调整。
2.根据权利要求1所述的方法,其特征在于,所述字符为当前显示界面待显示的第一个字符。
3.根据权利要求1所述的方法,其特征在于,所述当前编码方式包括从右到左RTL语言的编码方式或者从左到右TRL语言的编码方式,当前布局方式包括RTL语言的布局方式或者TRL语言的布局方式。
4.根据权利要求3所述的方法,其特征在于,所述对所述当前布局方式进行调整,包括:
基于钩子hook操作方式拦截视图View的显示框架设置setframe方法,并将所述setframe方法中的显示方向的相关信息进行修改,以使修改后的View的显示方向实现左右倒置;
和/或,
基于hook操作方式拦截文本lable的文本属性setAttributedstring方法,并将所述setAttributedstring方法中的文本对齐方向的相关信息进行修改,以使修改后的文本对齐方向实现反转;
和/或,
生成当前显示界面中待显示图片的镜像图片,并将所述待显示图片替换为所述镜像图片;
和/或,
基于hook操作方式拦截收藏视图collection View的对齐方式alignment方法,并将所述alignment方法中的对齐方向的相关信息进行修改,以使修改后的collection View的对齐方向实现反转;
和/或,
基于hook操作方式拦截手势Gesture对应的滑动方向调整方法,并将所述滑动调整方法中的滑动方向的相关信息进行修改,以使修改后的滑动方向实现反转。
5.一种调整布局方式的装置,其特征在于,包括:
显示字符获取模块,用于获取当前显示界面待显示的字符;
编码方式确定模块,用于确定所述字符的当前编码方式;
布局方式调整模块,用于若所述当前编码方式与所述当前显示界面的当前布局方式不适配,则对所述当前布局方式进行调整。
6.根据权利要求5所述的装置,其特征在于,所述字符为当前显示界面待显示的第一个字符。
7.根据权利要求5所述的装置,其特征在于,所述当前编码方式包括RTL语言的编码方式或者TRL语言的编码方式,当前布局方式包括RTL语言的布局方式或者TRL语言的布局方式。
8.根据权利要求7所述的装置,其特征在于,所述布局方式调整模块在对所述当前布局方式进行调整时,具体用于:
基于hook操作方式拦截View的setframe方法,并将所述setframe方法中的显示方向的相关信息进行修改,以使修改后的View的显示方向实现左右倒置;
和/或,
基于hook操作方式拦截lable的setAttributedstring方法,并将所述setAttributedstring方法中的文本对齐方向的相关信息进行修改,以使修改后的文本对齐方向实现反转;
和/或,
生成当前显示界面中待显示图片的镜像图片,并将所述待显示图片替换为所述镜像图片;
和/或,
基于hook操作方式拦截collection View的alignment方法,并将所述alignment方法中的对齐方向的相关信息进行修改,以使修改后的collection View的对齐方向实现反转;
和/或,
基于hook操作方式拦截Gesture对应的滑动方向调整方法,并将所述滑动方向调整方法中的滑动方向的相关信息进行修改,以使修改后的滑动方向实现反转。
9.一种电子设备,其特征在于,包括:
处理器和存储器;
所述存储器,用于存储计算机操作指令;
所述处理器,用于通过调用所述计算机操作指令,执行上述权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述存储介质存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811615131.5A CN109710364A (zh) | 2018-12-27 | 2018-12-27 | 调整布局方式的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811615131.5A CN109710364A (zh) | 2018-12-27 | 2018-12-27 | 调整布局方式的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109710364A true CN109710364A (zh) | 2019-05-03 |
Family
ID=66258770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811615131.5A Pending CN109710364A (zh) | 2018-12-27 | 2018-12-27 | 调整布局方式的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710364A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111479155A (zh) * | 2020-04-02 | 2020-07-31 | 青岛海信传媒网络技术有限公司 | 显示设备及用户界面显示方法 |
CN111475248A (zh) * | 2020-04-17 | 2020-07-31 | 崔晓珂 | 一种rtl处理方法、系统、存储介质及电子设备 |
CN111651113A (zh) * | 2020-07-16 | 2020-09-11 | 广州朱雀信息科技有限公司 | 页面展示方法、装置、设备及存储介质 |
CN113515338A (zh) * | 2021-07-01 | 2021-10-19 | 深圳创维-Rgb电子有限公司 | Ui界面的布局方法、显示终端及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051270A (zh) * | 2007-05-11 | 2007-10-10 | 华为技术有限公司 | 界面布局变换方法及界面显示控制器 |
CN103677786A (zh) * | 2012-09-21 | 2014-03-26 | 国际商业机器公司 | 用于辅助图形化用户界面设计的方法和装置 |
CN106095437A (zh) * | 2016-06-12 | 2016-11-09 | 青岛海信电器股份有限公司 | 用户界面从右到左rtl的布局方式的实现方法及装置 |
CN108958859A (zh) * | 2018-06-01 | 2018-12-07 | 东软集团股份有限公司 | 基于Android的RTL布局适配方法、装置、存储介质及电子设备 |
-
2018
- 2018-12-27 CN CN201811615131.5A patent/CN109710364A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101051270A (zh) * | 2007-05-11 | 2007-10-10 | 华为技术有限公司 | 界面布局变换方法及界面显示控制器 |
CN103677786A (zh) * | 2012-09-21 | 2014-03-26 | 国际商业机器公司 | 用于辅助图形化用户界面设计的方法和装置 |
CN106095437A (zh) * | 2016-06-12 | 2016-11-09 | 青岛海信电器股份有限公司 | 用户界面从右到左rtl的布局方式的实现方法及装置 |
CN108958859A (zh) * | 2018-06-01 | 2018-12-07 | 东软集团股份有限公司 | 基于Android的RTL布局适配方法、装置、存储介质及电子设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111479155A (zh) * | 2020-04-02 | 2020-07-31 | 青岛海信传媒网络技术有限公司 | 显示设备及用户界面显示方法 |
CN111475248A (zh) * | 2020-04-17 | 2020-07-31 | 崔晓珂 | 一种rtl处理方法、系统、存储介质及电子设备 |
CN111651113A (zh) * | 2020-07-16 | 2020-09-11 | 广州朱雀信息科技有限公司 | 页面展示方法、装置、设备及存储介质 |
CN111651113B (zh) * | 2020-07-16 | 2021-09-07 | 广州朱雀信息科技有限公司 | 页面展示方法、装置、设备及存储介质 |
CN113515338A (zh) * | 2021-07-01 | 2021-10-19 | 深圳创维-Rgb电子有限公司 | Ui界面的布局方法、显示终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710364A (zh) | 调整布局方式的方法、装置、电子设备及存储介质 | |
CN110046021B (zh) | 一种页面显示方法、装置、系统、设备和存储介质 | |
CN109375918A (zh) | 小程序的界面渲染方法、装置、电子设备和存储介质 | |
CN110505141B (zh) | 即时通讯消息的处理方法、装置、可读介质及电子设备 | |
CN109460233A (zh) | 页面的原生界面显示更新方法、装置、终端设备及介质 | |
CN109684578A (zh) | 用于显示信息的方法和装置 | |
WO2021114979A1 (zh) | 视频页面显示方法、装置、电子设备和计算机可读介质 | |
CN110134880A (zh) | 评论数据的提供、显示方法、装置、电子设备及存储介质 | |
CN109769141A (zh) | 一种视频生成方法、装置、电子设备及存储介质 | |
CN110427150A (zh) | 应用程序的显示方法、装置、电子设备及计算机可读介质 | |
JP7402330B2 (ja) | 目標対象表示方法、装置、電子機器、及びコンピュータ読み取り可能な媒体 | |
CN110471733A (zh) | 信息处理方法和装置 | |
WO2024179308A1 (zh) | 一种信息处理方法、装置、电子设备、计算机可读介质 | |
CN110245298A (zh) | 用于推送信息的方法和装置 | |
CN110298851A (zh) | 人体分割神经网络的训练方法及设备 | |
CN109783101A (zh) | 浏览器自动适配的网页布局方法和装置 | |
CN109446199A (zh) | 单元格数据处理方法和装置 | |
CN109743245A (zh) | 创建群组的方法和设备 | |
CN109062560A (zh) | 用于生成信息的方法和装置 | |
KR102634375B1 (ko) | 동적 키보드 인터페이스내의 애니메이션 이미지 포지셔닝 방법 및 시스템 | |
WO2024179307A1 (zh) | 一种信息处理方法、装置、电子设备、计算机可读介质 | |
CN108549586A (zh) | 信息处理方法和装置 | |
WO2024169909A1 (zh) | 目标内容及界面的显示方法、装置、设备和存储介质 | |
CN110083768A (zh) | 一种信息分享方法、装置、设备和介质 | |
CN109788333A (zh) | 用于全屏显示视频的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190503 |
|
RJ01 | Rejection of invention patent application after publication |