CN106547560A - 基于安卓系统的文本与其它组件混排方法及装置 - Google Patents
基于安卓系统的文本与其它组件混排方法及装置 Download PDFInfo
- Publication number
- CN106547560A CN106547560A CN201610970472.9A CN201610970472A CN106547560A CN 106547560 A CN106547560 A CN 106547560A CN 201610970472 A CN201610970472 A CN 201610970472A CN 106547560 A CN106547560 A CN 106547560A
- Authority
- CN
- China
- Prior art keywords
- interface layout
- rectangular area
- text
- word
- width
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/189—Automatic justification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Document Processing Apparatus (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明属于安卓开发技术领域,具体涉及一种基于安卓系统的文本与其它组件混排方法及装置。本发明的基于安卓系统的文本与其它组件混排方法包括以下步骤:获取界面布局以及所述界面布局内非文本组件视图的参数信息;计算得到所述界面布局内可用于填充文字的矩形区域集合;将文本内容填充至所述矩形区域集合。本发明的技术方案可根据界面布局中非文本组件视图放置的位置,对文本内容进行自适应地填充,避免了现有方式下非文本组件视图位置改变就需要人为重新进行界面布局文件修改的问题。
Description
技术领域
本发明属于安卓开发技术领域,具体涉及一种基于安卓系统的文本与其它组件混排方法及装置。
背景技术
在安卓应用开发领域中,应用程序界面开发是重要的环节之一,界面上展现给用户的内容都是以组件视图的方式进行开发,每个组件视图占据屏幕上的一个矩形区域,例如,文本,图片,视频,表格等内容都对应一种类型的组件视图,通过设置组件视图的文本属性,图片属性等来将多媒体内容呈现在移动终端屏幕上。
在许多实际的应用场景中,需要在移动终端界面上同时展现文字内容和其他多媒体内容(例如,图片、动画、视频),一方面,多媒体内容占据了屏幕的一定区域之后,留给文本内容显示的区域通常是不规则的形状,另一方面,文本内容的排版又需要符合阅读习惯方式,因此文本内容通常不能在一个完整的文本组件视图中统一展现,而是需要拆分成多个文本内容,按照阅读习惯分配给多个文本组件视图展现,即文本内容和多媒体内容混合排版。传统的处理方式为,为整个应用界面创建一个界面布局文件,由它定义界面布局的排版结构,保存所有组件视图的类型、位置,尺寸以及相互间位置关系。对于多媒体内容,直接在对应多媒体组件视图中展现内容即可,对于文本内容,则需要根据阅读习惯,按照顺序将文本内容截取出来填充到不同的文本组件视图中。
上述方式虽然实现了文本组件视图和其他组件视图的混排,但是界面布局文件严格定义了界面的排版结构,当其中某个多媒体组件视图的尺寸或位置发生变化时,就会影响文本内容显示,必须对所有文本组件视图的参数进行相应调整;另外,若安卓应用需要用到多种布局方式时,就可能需要配置多个的界面布局文件,这样使得界面的开发相当繁琐,不够灵活。
发明内容
本发明的目的之一在于克服以上缺点,提供一种能够自适应实现文本组件视图和其他组件视图混排的方法。
为了解决上述技术问题,本发明提供了一种基于安卓系统的文本与其它组件混排方法,包括以下步骤:
获取界面布局以及所述界面布局内非文本组件视图的参数信息;
计算得到所述界面布局内可用于填充文字的矩形区域集合;
将文本内容填充至所述矩形区域集合。
本发明的技术方案根据界面布局中非文本组件视图的位置,自动分析可用于文本展示的区域,对文本内容进行自适应地填充,可适用于所有的界面布局方式,比现有界面布局文件定义的方式更加灵活方便。
进一步地,所述界面布局以及所述界面布局内非文本组件视图的参数信息包括界面布局的矩形顶点坐标值、宽度值和高度值;及非文本组件视图的矩形顶点坐标值、宽度值和高度值。
进一步地,所述计算得到所述界面布局内可用于填充文字的矩形区域集合,包括以下步骤:
根据界面布局以及界面布局内非文本组件视图所有顶点的Y轴坐标值,将界面布局至上而下分割为若干个矩形区域,所述矩形区域宽度等于界面布局宽度,高度为相邻两个Y轴坐标值的差值;
裁除每个分割矩形区域内非文本组件视图占用的区域;
保存每个分割矩形区域内剩余区域的参数信息,并将剩余区域加入可用于填充文字的矩形区域集合。
本发明的技术方案先根据组件视图的Y轴坐标值对界面布局进行纵向分割,再去除非文本组件视图占用的区域,可保证将用于填充文字的不规则的区域划分成若干个矩形区域,适用于任意界面布局方式。
进一步地,所述将文本内容填充至所述矩形区域集合,包括以下步骤:
获取字体的高度和宽度信息;
将每个填充文字的矩形区域划分为若干个高度等于字体高度的子区域;
根据字体宽度计算每个子区域可填充文字数量;
按照至上而下、从左到右的顺序,向子区域内填充相应数量的文字。
进一步地,所述将文本内容填充至所述矩形区域集合,还包括以下步骤:
若所述矩形区域集合可填充文字数量小于文本文字数量,则计算所需区域大小,对界面布局动态扩展后再进行填充。
进一步地,所述“计算所需区域大小,对界面布局动态扩展”,具体为:先根据界面布局宽度和字体宽度计算扩展区域每行可填充文字数量,再根据还需填充文字数和每行可填充文字数量计算需要扩展行数,界面布局向下动态扩展的高度为字体高度乘以需扩展行数。
本发明的技术方案可根据字体的尺寸信息,自适应地计算每个填充区域的文字数量,再进行文本的分割填充,在填充区域不足时,可以对界面布局进行自动扩展,无需人工进行调整,使用更加方便。
相应地,本发明还提供了一种基于安卓系统的文本与其它组件混排装置,包括:
第一处理模块,用于获取界面布局以及所述界面布局内非文本组件视图的参数信息;
第二处理模块,用于计算得到所述界面布局内可用于填充文字的矩形区域集合;
第三处理模块,用于将文本内容填充至所述矩形区域集合。
进一步地,所述第二处理模块,包括:
第一处理单元,用于根据界面布局以及界面布局内非文本组件视图所有顶点的Y轴坐标值,将界面布局至上而下分割为若干个矩形区域,所述矩形区域宽度等于界面布局宽度,高度为相邻两个Y轴坐标值的差值;
第二处理单元,用于裁除每个分割矩形区域内非文本组件视图占用的区域;
第三处理单元,用于保存每个分割矩形区域内剩余区域的参数信息,并将剩余区域加入可用于填充文字的矩形区域集合。
进一步地,所述第三处理模块,包括:
第一处理单元,用于获取字体的高度和宽度信息;
第二处理单元,用于将每个填充文字的矩形区域划分为若干个高度等于字体高度的子区域;
第三处理单元,用于根据字体宽度计算每个子区域可填充文字数量;
第四处理单元,用于按照至上而下、从左到右的顺序,向子区域内填充相应数量的文字。
进一步地,所述第三处理模块,还包括:
第五处理单元,用于若所述矩形区域集合可填充文字数量小于文本文字数量,则计算所需区域大小,对界面布局动态扩展后再进行填充。
综上所述,本发明技术方案的有益效果有:
1.根据界面布局中非文本组件视图的位置,自动分析可用于文本展示的区域,对文本内容进行自适应地填充,可适用于所有的布局方式,比现有界面布局文件定义的方式更加灵活方便。
2.根据组件视图的Y轴坐标值对界面布局进行纵向分割,再去除非文本组件视图占用的区域,可保证将用于填充文字的不规则的区域划分成若干个矩形区域,适用于任意界面布局方式。
3.根据字体的尺寸信息,自适应地计算每个填充区域的文字数量,再进行文本的分割填充,在填充区域不足时,可以对界面布局进行自动扩展,无需人工进行调整,使用更加方便。
附图说明
图1是本发明的一种基于安卓系统的文本与其它组件混排方法步骤流程图。
图2是本发明的一种计算得到可用于填充文字的矩形区域集合步骤流程图。
图3是本发明的一种将文本内容填充至矩形区域集合步骤流程图。
图4是本发明实施例示意图1。
图5是本发明实施例示意图2。
图6是本发明的一种基于安卓系统的文本与其它组件混排装置结构图。
图7是本发明的一种第二处理模块结构图。
图8是本发明的一种第三处理模块结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在安卓应用场景中,经常需要在移动终端界面上同时展现文字内容和其他多媒体内容(例如,图片、动画、视频),由于多媒体内容占据了屏幕的一定区域之后,留给文本内容显示的区域通常是不规则的形状,而且文本内容的排版又需要符合阅读习惯方式,因此文本内容通常不能在一个完整的文本组件视图中统一展现,而需要拆分成多个文本内容,分配给多个文本组件视图展现,这种处理方式称为文本内容和多媒体内容混合排版。传统的处理方式为,为应用界面创建一个界面布局文件,由它定义界面布局的排版结构,保存所有组件视图的类型、位置,尺寸。对于多媒体内容,直接在对应多媒体组件视图中展现内容即可,对于文本内容,则需要根据阅读习惯,按照顺序将文本内容截取出来填充到不同的文本组件视图中。在实际应用中,这种方式不够灵活,例如多媒体组件视图位置尺寸如果发生变化,原先的界面布局文件就无法适用,需要重新进行布局调整,对文本填充区域进行重新划分。
如图1,是本发明的一种基于安卓系统的文本与其它组件混排方法步骤流程图,包括以下步骤:
步骤1、获取界面布局以及所述界面布局内非文本组件视图的参数信息;
在安卓界面开发过程中,通常第一个步骤就是需要对界面进行布局,对整个屏幕界面进行总体功能区域划分。例如,对于文章阅读应用而言,界面布局方式可以为:屏幕面积上方区域为功能菜单选择区域;下方区域内,左边为文章目录结构,右边是文章正文内容。上述界面布局方式,通过将屏幕划分成三个区域,每个区域实现不同的应用功能。界面布局完成后,在每个界面布局内部,添加所需要的组件视图,例如文本,图片,视频等等,由界面布局和组件视图共同完成界面内容的展示。在实际的应用中,界面布局可以多层地嵌套,即在上级界面布局内进一步进行二级界面布局划分,本发明的技术方案只涉及最内层界面布局中的文本与其他组件混排。
本发明的基于安卓系统的文本与其它组件混排方法,首先需要获取界面布局以及所述界面布局内非文本组件视图的参数信息,由于界面布局区域和组件视图通常均为矩形区域,所以需要获取的参数信息有:界面布局矩形区域顶点的坐标值、界面布局的宽度和高度(单位为像素)、界面布局内部每个非文本组件视图顶点的坐标值、非文本组件视图的宽度和高度(单位为像素)。通过界面布局参数信息,可以得到本界面布局在屏幕中占据的位置和范围;通过非文本组件视图的参数信息,可以确定本界面布局内用于填充非文本内容的位置和范围。
获取界面布局以及所述界面布局内非文本组件视图的参数信息的方式有多种,可以是通过读取事先配置的界面布局文件获取相关参数信息,这种方式通常用于界面布局固定的场景中;也可以通过与用户交互得到,例如,当用户通过拖拽方式移动界面中的多媒体组件视图时,可通过组件视图的移动事件获取最终的位置信息。
步骤2、计算得到所述界面布局内可用于填充文字的矩形区域集合;如图2,是本发明的一种计算得到可用于填充文字的矩形区域集合步骤流程图,包括以下步骤:
步骤201、根据界面布局以及界面布局内非文本组件视图所有顶点的Y轴坐标值,将界面布局至上而下分割为若干个矩形区域,所述矩形区域宽度等于界面布局宽度,高度为相邻两个Y轴坐标值的差值;
由于非文本组件视图通常都是以整体的方式展现一幅图片、一个表格或一部视频等,不会存在需要分割到不同区域展现的情况,所以当位置和尺寸确定之后,只要将相应类型的多媒体资源在组件视图区域内进行展现即可。在实际应用场景中,非文本组件视图可以处于界面布局中任意位置,而且非文本组件视图可能存在多个并且有重叠,这就导致界面布局内剩余区域是不规则的形状,要在这个不规则形状中进行文字填充,就首先需要对不规则形状进行划分,形成可填充文字的矩形规则区域。
根据至上而下的阅读习惯,本发明的技术方案对界面布局进行纵向分割,具体分割方式为:1.统计界面布局顶点以及界面布局内非文本组件视图顶点的Y轴坐标值,按照从小到大进行排序;2.经过每个Y轴坐标值,画一条平行于X轴的直线,将界面布局至上而下分割为若干个矩形区域,所述矩形区域宽度等于界面布局宽度,高度为相邻两个Y轴坐标值的差值。
步骤202、裁除每个分割矩形区域内非文本组件视图占用的区域;
经过前述步骤的分割操作后,实际上就是将填充文字的不规则形状分割成若干个矩形区域,同时每个分割出的矩形区域内只可能由用于填充文字的矩形区域和多媒体组件视图矩形区域组成,只要将多媒体组件视图矩形区域裁除就可以得到用于填充文字的矩形区域。
裁除多媒体组件视图矩形区域通常有以下两种情况:一、若一个多媒体组件视图矩形区域没有和其他多媒体组件视图矩形区域重叠,则可以直接裁除;二、若有多个多媒体组件视图矩形区域相互之间存在重叠,则先对重叠的区域进行合并,再一起裁除。
步骤203、保存每个分割矩形区域内剩余区域的参数信息,并将剩余区域加入可用于填充文字的矩形区域集合。
将每个分割矩形区域内多媒体组件视图所占区域裁除后,所剩余区域即为可填充文字区域,对于每个可填充文字区域,同样需要保存顶点坐标值、高度值、宽度值,以便于后续文字填充计算处理,整个界面布局中所有可填充文字区域组成的一个矩形区域集合即为本步骤处理结果。
步骤3、将文本内容填充至所述矩形区域集合。如图3,是本发明的一种将文本内容填充至矩形区域集合步骤流程图,包括以下步骤:
步骤301、获取字体的高度和宽度信息;这里高度和宽度的单位为像素。
步骤302、将每个填充文字的矩形区域划分为若干个高度等于字体高度的子区域;用填充文字的矩形区域的高度值除以字体的高度值,就可以得出该矩形区域可以填充文字的行数,每一行即为新划分的子区域。若填充文字的矩形区域的高度值不能整除字体的高度值,则剩余部分区域无法填充一行完整的字符,为无效区域。
步骤303、根据字体宽度计算每个子区域可填充文字数量;用新划分的子区域的宽度值除以字体的宽度值,就可以得出该子区域可以填充的文字数,若子区域的宽度值不能整除字体的宽度值,则剩余部分区域无法填充一个完整的字符,为无效区域。
步骤304、按照至上而下、从左到右的顺序,向子区域内填充相应数量的文字。在所有子区域可填充文字数量都计算完成后,先根据阅读习惯对所有的子区域按照至上而下、从左到右的顺序进行排序,再按照顺序从文本内容中截取相应字数的文字填充到子区域中。
在一优选的实施例中,将文本内容填充至矩形区域集合,还包括以下步骤:若所有矩形区域集合可填充文字数量小于所需显示文本的文字数量,则先计算还需要区域大小,对界面布局的高度动态扩展后再进行填充。扩展区域宽度即为界面布局的宽度,扩展区域高度计算方式为字体高度乘以还需扩展文字行数,其中,可先根据界面布局宽度和字体宽度计算扩展区域每行可填充文字数量,再根据还需填充文字数和每行可填充文字数量计算需要扩展行数。
下面,以一具体的实施例来说明本发明基于安卓系统的文本与其它组件混排方法步骤,如图4所示,为包含两个非文本组件视图的界面布局排版方式,外围实线矩形区域为界面布局C的范围,界面布局内部两个阴影部分分别为非文本组件视图A和B,非文本组件视图A和B存在相互重叠部分,设置界面布局左下角顶点为直角坐标系的原点。
步骤1、获取界面布局以及所述界面布局内非文本组件视图的参数信息;根据图中所示坐标值,可以得到如下参数信息:界面布局C的4个顶点坐标为(0,0),(400,0),(0,300),(400,300),高度为300像素,宽度为400像素;非文本组件视图A的4个顶点坐标为(80,120),(240,120),(80,240),(240,240),高度为120像素,宽度为160像素;非文本组件视图B的4个顶点坐标为(160,60),(320,60),(160,180),(320,180),高度为120像素,宽度为160像素。
步骤2、计算得到所述界面布局内可用于填充文字的矩形区域集合,包括以下步骤:
步骤201、统计界面布局C顶点以及非文本组件视图A、B顶点的Y轴坐标值,按照从小到大进行排序为0、60、120、180、240、320;经过上述每个Y轴坐标值,画一条平行于X轴的直线,将界面布局至上而下分割为5个矩形区域,如图5所示,每个矩形区域宽度等于400,高度为相邻两个Y轴坐标值的差值,本实施例中均为60。
步骤202、裁除每个分割矩形区域内非文本组件视图占用的区域;如图5所示,本实施例中,矩形区域1,其中没有非文本组件视图,无需裁除,全部为可填充文字区域;矩形区域2中,阴影部分为非文本组件视图A占用区域,需进行裁除,剩余区域2-1、2-2为可填充文字区域;矩形区域3中,阴影部分为非文本组件视图A和B占用区域,其中A和B存在重叠,则先合并A和B阴影区域再一起裁除,剩余区域3-1、3-2为可填充文字区域;矩形区域4中,阴影部分为非文本组件视图B占用区域,需进行裁除,剩余区域4-1、4-2为可填充文字区域;矩形区域5,其中没有非文本组件视图,无需裁除,全部为可填充文字区域。
步骤203、保存每个分割矩形区域内剩余区域的参数信息,并将剩余区域加入可用于填充文字的矩形区域集合,本实施例中,可填充文字区域集合参数信息为:
矩形区域1、顶点坐标(0,240)、(400,240)、(0,300)、(400,300);高60像素,宽400像素;
矩形区域2-1、顶点坐标(0,180)、(80,180)、(0,240)、(80,240);高60像素,宽80像素;
矩形区域2-2、顶点坐标(240,180)、(400,180)、(240,240)、(400,240);高60像素,宽160像素;
矩形区域3-1、顶点坐标(0,120)、(80,120)、(0,180)、(80,180);高60像素,宽80像素;
矩形区域3-2、顶点坐标(320,120)、(400,120)、(320,180)、(400,180);高60像素,宽80像素;
矩形区域4-1、顶点坐标(0,60)、(160,60)、(0,120)、(160,120);高60像素,宽160像素;
矩形区域4-2、顶点坐标(320,60)、(400,60)、(320,120)、(400,120);高60像素,宽80像素;
矩形区域5、顶点坐标(0,0)、(400,0)、(0,60)、(400,60);高60像素,宽400像素。
步骤301、获取字体的高度和宽度信息;本实施例中,字体高度为15像素,宽度为15像素。
步骤302、用填充文字的矩形区域的高度值除以字体的高度值,就可以得出该矩形区域可以填充文字的行数,每一行即为一个子区域;对于矩形区域1、60/15=4,则可以划分为4个子区域…依次类推,本实施例中每个填充文字矩形区域均正好划分为4个子区域,同时矩形区域的高度60能够整除字体的高度15,所以不存在无效区域。
步骤303、根据字体宽度计算每个子区域可填充文字数量;对于矩形区域1、所有子区域的宽度值为400,字体的宽度值为15,400/15=26,则每一行可以填充26个文字,由于子区域的宽度400不能整除字体的宽度15,则剩余部分区域(10像素)无法填充一个完整的字符,为无效区域,最终矩形区域1可填充文字数为26*4=104;对于矩形区域2-1、所有子区域的宽度值为80,字体的宽度值为15,80/15=5,则每一行可以填充5个文字,由于子区域的宽度80不能整除字体的宽度15,则剩余部分区域(5像素)无法填充一个完整的字符,为无效区域,最终矩形区域2-1可填充文字数为5*4=20…依此类推,计算出本实施例中所有填充文字矩形区域共可填充文字368个。
步骤304、先根据阅读习惯对所有的子区域按照至上而下、从左到右的顺序进行排序,再按照文本内容顺序截取相应字数的文字填充到子区域中。本实施例中,填充方式为:从要展现文本内容中截取前26个字符填充在矩形区域1的第一行,继续截取后26个字符填充在矩形区域1的第二行,继续截取后26个字符填充在矩形区域1的第三行,继续截取后26个字符填充在矩形区域1的第四行,继续截取后5个字符填充在矩形区域2-1的第一行,继续截取后10个字符填充在矩形区域2-2的第一行,继续截取后5个字符填充在矩形区域2-1的第二行,继续截取后10个字符填充在矩形区域2-2的第二行…依次类推,直至文本内容填充完成。
本实施例中,若需要展现的文字数为400个,超过可以填充文字数32个,而界面布局每行可填充文字数为26,则还需要扩展2行区域,因此界面布局向下扩展区域的宽度为400像素,高度为30像素,在此扩展区域内填充剩余文字即可。
如图6,是本发明的一种基于安卓系统的文本与其它组件混排装置结构图,包括:
第一处理模块,用于获取界面布局以及所述界面布局内非文本组件视图的参数信息;需要获取的参数信息有:界面布局矩形区域顶点的坐标值、界面布局的宽度和高度(单位为像素)、界面布局内部每个非文本组件视图矩形区域顶点的坐标值、非文本组件视图的宽度和高度(单位为像素)。
第二处理模块,用于计算得到所述界面布局内可用于填充文字的矩形区域集合;如图7,是本发明的一种第二处理模块结构图,包括:
第一处理单元,用于根据界面布局以及界面布局内非文本组件视图所有顶点的Y轴坐标值,将界面布局至上而下分割为若干个矩形区域,所述矩形区域宽度等于界面布局宽度,高度为相邻两个Y轴坐标值的差值;本单元的主要作用就是将可填充文字的不规则形状划分成为多个规则的矩形区域。通过分割处理,不论非文本组件视图在屏幕的任何位置,可填充文字区域最终都可以分割成若干个规则矩形区域,使得本发明适用于任意界面布局方式。
第二处理单元,用于裁除每个分割矩形区域内非文本组件视图占用的区域;若一个多媒体组件视图矩形区域没有和其他多媒体组件视图矩形区域重叠,则可以直接裁除;若有多个多媒体组件视图矩形区域相互之间存在重叠,则先对重叠的区域进行合并,再一起裁除。
第三处理单元,用于保存每个分割矩形区域内剩余区域的参数信息,并将剩余区域加入可用于填充文字的矩形区域集合。本单元用于记录分割后所有可用于填充文字矩形区域的相关参数信息,包括顶点坐标值、高度值、宽度值,以便后续填充文字时进行计算处理。
第三处理模块,用于将文本内容填充至所述矩形区域集合。如图8,是本发明的一种第三处理模块结构图,包括:
第一处理单元,用于获取字体的高度和宽度信息;这里高度和宽度的单位为像素。
第二处理单元,用于将每个填充文字的矩形区域划分为若干个高度等于字体高度的子区域;用填充文字的矩形区域的高度值除以字体的高度值,就可以得出该矩形区域可以填充文字的行数,每一行即为新划分的子区域。
第三处理单元,用于根据字体宽度计算每个子区域可填充文字数量;用新划分的子区域的宽度值除以字体的宽度值,就可以得出该子区域可以填充的文字数。
第四处理单元,用于按照至上而下、从左到右的阅读习惯顺序,从待展示文本中截取相应数量的文字填充到子区域内。
在一优选的实施例中,当所述矩形区域集合可填充文字数量小于文本文字数量时,本发明的第三处理模块还可以包含:
第五处理单元,用于计算需要扩展区域大小,对界面布局动态扩展后再进行填充。本单元先计算出还需要填充的文字数,再根据界面布局每行可填充文字数计算出扩展行数,最后在界面布局最下方向下扩展相应区域并进行文字填充即可。
上述具体实施方式只是对本发明的技术方案进行详细解释,本发明并不只仅仅局限于上述实施例,凡是依据本发明原理的任何改进或替换,均应在本发明的保护范围之内。
Claims (10)
1.基于安卓系统的文本与其它组件混排方法,其特征在于,包括以下步骤:
获取界面布局以及所述界面布局内非文本组件视图的参数信息;
计算得到所述界面布局内可用于填充文字的矩形区域集合;
将文本内容填充至所述矩形区域集合。
2.如权利要求1所述的基于安卓系统的文本与其它组件混排方法,其特征在于,所述界面布局以及所述界面布局内非文本组件视图的参数信息包括界面布局的矩形顶点坐标值、宽度值和高度值;及非文本组件视图的矩形顶点坐标值、宽度值和高度值。
3.如权利要求1所述的基于安卓系统的文本与其它组件混排方法,其特征在于,所述计算得到所述界面布局内可用于填充文字的矩形区域集合,包括以下步骤:
根据界面布局以及界面布局内非文本组件视图所有顶点的Y轴坐标值,将界面布局至上而下分割为若干个矩形区域,所述矩形区域宽度等于界面布局宽度,高度为相邻两个Y轴坐标值的差值;
裁除每个分割矩形区域内非文本组件视图占用的区域;
保存每个分割矩形区域内剩余区域的参数信息,并将剩余区域加入可用于填充文字的矩形区域集合。
4.如权利要求1所述的基于安卓系统的文本与其它组件混排方法,其特征在于,所述将文本内容填充至所述矩形区域集合,包括以下步骤:
获取字体的高度和宽度信息;
将每个填充文字的矩形区域划分为若干个高度等于字体高度的子区域;
根据字体宽度计算每个子区域可填充文字数量;
按照至上而下、从左到右的顺序,向子区域内填充相应数量的文字。
5.如权利要求4所述的基于安卓系统的文本与其它组件混排方法,其特征在于,所述将文本内容填充至所述矩形区域集合,还包括以下步骤:
若所述矩形区域集合可填充文字数量小于文本文字数量,则计算所需区域大小,对界面布局动态扩展后再进行填充。
6.如权利要求5所述的基于安卓系统的文本与其它组件混排方法,其特征在于,所述“计算所需区域大小,对界面布局动态扩展”,具体为:先根据界面布局宽度和字体宽度计算扩展区域每行可填充文字数量,再根据还需填充文字数和每行可填充文字数量计算需要扩展行数,界面布局向下动态扩展的高度为字体高度乘以需扩展行数。
7.一种基于安卓系统的文本与其它组件混排装置,其特征在于,包括:
第一处理模块,用于获取界面布局以及所述界面布局内非文本组件视图的参数信息;
第二处理模块,用于计算得到所述界面布局内可用于填充文字的矩形区域集合;
第三处理模块,用于将文本内容填充至所述矩形区域集合。
8.如权利要求7所述的基于安卓系统的文本与其它组件混排装置,其特征在于,所述第二处理模块,包括:
第一处理单元,用于根据界面布局以及界面布局内非文本组件视图所有顶点的Y轴坐标值,将界面布局至上而下分割为若干个矩形区域,所述矩形区域宽度等于界面布局宽度,高度为相邻两个Y轴坐标值的差值;
第二处理单元,用于裁除每个分割矩形区域内非文本组件视图占用的区域;
第三处理单元,用于保存每个分割矩形区域内剩余区域的参数信息,并将剩余区域加入可用于填充文字的矩形区域集合。
9.如权利要求7所述的基于安卓系统的文本与其它组件混排装置,其特征在于,所述第三处理模块,包括:
第一处理单元,用于获取字体的高度和宽度信息;
第二处理单元,用于将每个填充文字的矩形区域划分为若干个高度等于字体高度的子区域;
第三处理单元,用于根据字体宽度计算每个子区域可填充文字数量;
第四处理单元,用于按照至上而下、从左到右的顺序,向子区域内填充相应数量的文字。
10.如权利要求9所述的基于安卓系统的文本与其它组件混排装置,其特征在于,所述第三处理模块,还包括:
第五处理单元,用于若所述矩形区域集合可填充文字数量小于文本文字数量,则计算所需区域大小,对界面布局动态扩展后再进行填充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610970472.9A CN106547560A (zh) | 2016-11-01 | 2016-11-01 | 基于安卓系统的文本与其它组件混排方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610970472.9A CN106547560A (zh) | 2016-11-01 | 2016-11-01 | 基于安卓系统的文本与其它组件混排方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106547560A true CN106547560A (zh) | 2017-03-29 |
Family
ID=58393968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610970472.9A Pending CN106547560A (zh) | 2016-11-01 | 2016-11-01 | 基于安卓系统的文本与其它组件混排方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547560A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193542A (zh) * | 2017-03-30 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 信息显示方法和装置 |
CN108121541A (zh) * | 2017-12-21 | 2018-06-05 | 深圳市富途网络科技有限公司 | 一种向画布添加二维界面组件时的建议位置生成方法 |
CN108416827A (zh) * | 2018-02-11 | 2018-08-17 | 李荣陆 | 一种基于数据驱动和素材分析的平面设计自动布局装置和方法 |
CN109947546A (zh) * | 2019-03-13 | 2019-06-28 | 北京乐我无限科技有限责任公司 | 一种任务执行方法、装置、电子设备及存储介质 |
CN110188326A (zh) * | 2018-02-22 | 2019-08-30 | 深圳市萌蛋互动网络有限公司 | 富文本生成方法、装置、计算机设备和存储介质 |
CN111125466A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 仪表盘布局方法及装置 |
CN111179204A (zh) * | 2020-01-16 | 2020-05-19 | 深圳市爱协生科技有限公司 | 一种将矩形图片处理成含有刘海边框的图片的方法 |
CN111625237A (zh) * | 2020-04-30 | 2020-09-04 | 上海艾麒信息科技有限公司 | 文字视觉变形方法、系统及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123002A (zh) * | 2007-09-14 | 2008-02-13 | 北大方正集团有限公司 | 一种图文的自动排版方法 |
CN102053957A (zh) * | 2009-11-05 | 2011-05-11 | 方正国际软件(北京)有限公司 | 一种自动捕捉到空白版面特定位置的方法及装置 |
CN102662595A (zh) * | 2012-04-18 | 2012-09-12 | 广州坚和网络科技有限公司 | 用于移动终端屏幕的杂志式图文混排方法 |
CN104252444A (zh) * | 2013-06-27 | 2014-12-31 | 腾讯科技(北京)有限公司 | 一种杂志应用的排版方法、模块和系统 |
-
2016
- 2016-11-01 CN CN201610970472.9A patent/CN106547560A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101123002A (zh) * | 2007-09-14 | 2008-02-13 | 北大方正集团有限公司 | 一种图文的自动排版方法 |
CN102053957A (zh) * | 2009-11-05 | 2011-05-11 | 方正国际软件(北京)有限公司 | 一种自动捕捉到空白版面特定位置的方法及装置 |
CN102662595A (zh) * | 2012-04-18 | 2012-09-12 | 广州坚和网络科技有限公司 | 用于移动终端屏幕的杂志式图文混排方法 |
CN104252444A (zh) * | 2013-06-27 | 2014-12-31 | 腾讯科技(北京)有限公司 | 一种杂志应用的排版方法、模块和系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193542A (zh) * | 2017-03-30 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 信息显示方法和装置 |
CN108121541B (zh) * | 2017-12-21 | 2021-03-19 | 深圳市富途网络科技有限公司 | 一种向画布添加二维界面组件时的建议位置生成方法 |
CN108121541A (zh) * | 2017-12-21 | 2018-06-05 | 深圳市富途网络科技有限公司 | 一种向画布添加二维界面组件时的建议位置生成方法 |
CN108416827A (zh) * | 2018-02-11 | 2018-08-17 | 李荣陆 | 一种基于数据驱动和素材分析的平面设计自动布局装置和方法 |
CN110188326A (zh) * | 2018-02-22 | 2019-08-30 | 深圳市萌蛋互动网络有限公司 | 富文本生成方法、装置、计算机设备和存储介质 |
CN110188326B (zh) * | 2018-02-22 | 2023-08-11 | 深圳市萌蛋互动网络有限公司 | 富文本生成方法、装置、计算机设备和存储介质 |
CN111125466B (zh) * | 2018-11-01 | 2023-11-17 | 百度在线网络技术(北京)有限公司 | 仪表盘布局方法及装置 |
CN111125466A (zh) * | 2018-11-01 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 仪表盘布局方法及装置 |
CN109947546B (zh) * | 2019-03-13 | 2021-08-20 | 北京乐我无限科技有限责任公司 | 一种任务执行方法、装置、电子设备及存储介质 |
CN109947546A (zh) * | 2019-03-13 | 2019-06-28 | 北京乐我无限科技有限责任公司 | 一种任务执行方法、装置、电子设备及存储介质 |
CN111179204A (zh) * | 2020-01-16 | 2020-05-19 | 深圳市爱协生科技有限公司 | 一种将矩形图片处理成含有刘海边框的图片的方法 |
CN111625237A (zh) * | 2020-04-30 | 2020-09-04 | 上海艾麒信息科技有限公司 | 文字视觉变形方法、系统及介质 |
CN111625237B (zh) * | 2020-04-30 | 2023-05-30 | 上海艾麒信息科技有限公司 | 文字视觉变形方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547560A (zh) | 基于安卓系统的文本与其它组件混排方法及装置 | |
US10936790B2 (en) | Responsive grid layouts for graphic design | |
US20220236866A1 (en) | Method and system for section-based editing of a website page | |
US20170357393A1 (en) | Layout System for Devices with Variable Display Screen Sizes and Orientations | |
US20090031247A1 (en) | Active Tiled User Interface | |
US5577187A (en) | Method and system for tiling windows based on previous position and size | |
US20180365873A1 (en) | Recursive cell-based hierarchy for data visualizations | |
CN105392065A (zh) | 一种智能电视页面内容布局的方法及系统 | |
US5271097A (en) | Method and system for controlling the presentation of nested overlays utilizing image area mixing attributes | |
CN103208225A (zh) | 一种瓦片地图制作方法及系统 | |
EP0698266B1 (en) | A windowing system with independent windows that eliminates the effects of gridding | |
US20130257903A1 (en) | Overlaying transparency images including pixels corresponding to different heirarchical levels over a geographic map | |
WO2022116936A1 (zh) | 一种界面布局方法、电子设备和计算机可读存储介质 | |
CN111145286A (zh) | 一种基于gpu的用于边缘计算场景的点九图片贴图绘制方法 | |
CN113409411A (zh) | 图形界面的渲染方法、装置、电子设备及存储介质 | |
CN106201255B (zh) | 一种信息处理方法及电子设备 | |
US10825134B2 (en) | System and method for scaling content across multiple form factors | |
US10169734B2 (en) | Dynamic layout for organizational charts | |
US8185818B2 (en) | Mixed techniques for HTML crosstab rendering | |
CN110019589B (zh) | 电子地图显示方法及装置 | |
CN115222840A (zh) | 表格渲染方法、计算机可读存储介质以及电子设备 | |
US20120042268A1 (en) | Processing user interfaces | |
CN112767419A (zh) | 一种图集九宫格切割的方法及系统 | |
CN111143734A (zh) | 一种页面添加效果元素的方法及系统 | |
JP7198495B2 (ja) | Webページ作成装置、webページ作成方法、コンピュータプログラム |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170329 |