TextView线性缩放方法、装置、设备及介质制造方法及图纸

技术编号:24854678 阅读:20 留言:0更新日期:2020-07-10 19:08
本发明专利技术公开了一种TextView线性缩放方法,涉及线性缩放技术领域,用于解决现有笔记和文本线性缩放时产生的非线性问题,该方法包括以下步骤:根据预设TextSize字符类型接收输入字符;在所述输入字符的画笔标志位处配置线性标志;根据预设字体库为所述输入字符匹配字体,所述预设字体库为覆盖所有展示字符集合的字体库;根据TextView宽度及所述字符的字体特征,计算所述输入字符宽高;根据不同安卓设备,按比例线性缩放所述TextView控件宽度及所述输入字符。本发明专利技术还公开了一种TextView线性缩放装置、电子设备和计算机存储介质。本发明专利技术通过对字符类型及字体进行限定,并为笔记增加线性标志,进而避免了非线性的问题。

【技术实现步骤摘要】
TextView线性缩放方法、装置、设备及介质
本专利技术涉及一种线性缩放
,尤其涉及一种TextView线性缩放方法、装置、设备及介质。
技术介绍
在安卓系统下,有许多支持笔记标记的应用程序,在这些应用程序中,内容文本和笔记控件通常是相互分离的独立组件,当对不同设备上的文本和笔记进行对齐操作时,就需要将文本和笔记按照设备分辨率进行等比例线性缩放。笔记的线性缩放可以通过缩放笔记坐标点进行,但是对基于TextView展示的文本内容进行线性缩放时,会由于Android系统TextView测量过程的非线性,而导致文本内容字符宽度非线性,产生换行点不一致和笔记无法对齐的问题。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供一种TextView线性缩放方法,其通过对字符类型及字体库进行预设限定,并对画笔标志添加线性标志,进而使得TextView在线性缩放时文本换行点一致并且笔记线性对齐。本专利技术的目的之一采用以下技术方案实现:一种TextView线性缩放方法,包括以下步骤:根据预设TextSize字符类型接收输入字符;在所述输入字符的画笔标志位处配置线性标志;根据预设字体库为所述输入字符匹配字体,所述预设字体库为覆盖所有展示字符集合的字体库;根据TextView宽度及所述字符的字体特征,计算所述输入字符宽高;根据不同安卓设备,按比例线性缩放所述TextView控件宽度及所述输入字符。进一步地,所述预设Textsize字符类型为整型。进一步地,所述预设字体库为通过setTypeface指定的字体库。进一步地,根据TextView宽度及所述输入字符的字体特征,计算所述输入字符的宽高,还包括以下步骤:调用所述输入字符的字体特征,并关闭字距调整功能;根据所述字体特征进行所述输入字符宽高的计算。进一步地,所述线性标志为通过setPaintFlags配置的线性标志。进一步地,根据不同安卓设备,按比例线性缩放所述TextView控件宽度及所述输入字符,包括以下步骤:读取所述TextView宽度及所述输入字符的宽高,所述TextView宽度及所述输入字符的宽高为偶数;计算当前设备及基准设备的像素比例,并将所述像素比例向下取值到0.5的整倍数,得到缩放比例系数;根据所述缩放比例系数对所述TextView控件及所述输入字符进行线性缩放。进一步地,所述基准设备为显示区域为1024*768大小的设备。本专利技术的目的之二在于提供一种TextView线性缩放装置装置,其通过对字符类型及字体库进行预设限定,并对画笔标志添加线性标志,进而使得TextView在线性缩放时文本换行点一致并且笔记线性对齐。本专利技术的目的之二采用以下技术方案实现:一种TextView线性缩放装置,其包括:接收模块,用于根据预设的TextSize字符类型接收输入字符;配置模块,用于在所述输入字符的画笔标志位处配置线性标志;匹配模块,用于根据预设字体库为所述输入字符匹配字体,所述预设字体库为覆盖所有展示字符集合的字体库;计算模块,用于根据TextView宽度及字体,计算所述输入字符宽高;并根据不同安卓设备,按比例线性缩放所述TextView控件宽度及所述输入字符。本专利技术的目的之三在于提供执行专利技术目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的TextView线性缩放方法。本专利技术的目的之四在于提供存储专利技术目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的TextView线性缩放方法。相比现有技术,本专利技术的有益效果在于:本专利技术通过限定TextView的字符类型,并从可以覆盖所有展示字符集合的字体库中匹配字体,进而控制字符的宽高,防止出现非线性缩放的问题,并且通过对画笔标志添加线性标志,使得画笔标志处不会出现非线性缩放的问题,避免出现换行点不一致和笔记无法对齐的问题。附图说明图1是实施例一的TextView线性缩放方法的流程图;图2是实施例一的计算字符宽高方法的流程图;图3是实施例二的根据设备线性缩放方法的流程图;图4是实施例三的TextView线性缩放装置的结构框图;图5是实施例四的电子设备的结构框图。具体实施方式以下将结合附图,对本专利技术进行更为详细的描述,需要说明的是,以下参照附图对本专利技术进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。实施例一实施例一提供了一种TextView线性缩放方法,旨在通过对输入字符进行限定,以避免线性缩放时的非线性情况,防止出现换行点不一致和笔记无法对齐的问题。TextView指的是安卓(android)系统中的文本视图,通常安卓系统中APP内的文字展示都需要通过TextView来实现。请参照图1所示,一种TextView线性缩放方法,包括以下步骤:S110、根据预设TextSize字符类型接收输入字符;在一些版本的安卓系统中,会对字符类型强制取整,这样一些浮点类型的输入字符会出现非线性缩放的问题,因此在本实施例中,预设字符类型统一设定为整型,即配置的TextSize为整型。S110中预设字符类型的目的是为了统一文本大小,避免不同字符类型的文本线性缩放时大小不一导致非线性的问题。S120、在所述输入字符的画笔标志位处配置线性标志;;S120中的画笔标志指的是TextView中的画笔功能,例如文字加粗、添加下划线、添加抗锯齿标志等功能,由于系统会在画笔标志位不包含线性标志时对字符宽度进行四舍五入,从而导致画笔标志的非线性,因此,S120中会对所有画笔标志添加线性标志,以避免出现画笔标志非线性,导致线性缩放后画笔标志和输入字符不匹配的问题。上述的线性标志为通过setPaintFlags配置的线性标志。S130、根据预设字体库为所述输入字符匹配字体,所述预设字体库为覆盖所有展示字符集合的字体库;安卓系统在计算字体宽高时时结合了textSize和使用的字体库中的字符宽高,如果字体库中的字符不包含当前需要展示的字符,则系统会使用自己默认的字符,由于不同系统默认的字符宽度不同,会导致无法线性缩放的问题。因此,本实施例中,通过调用“setTypeface”命令预设的字体库完成字体的匹配,上述的预设字体库为覆盖所有展示字符集合的字体库,由于不同APP(应用程序)展示字符集合的字体不同,所以可以根据不同APP设定不同的预设字体库,也可以是一个包含所有字体的字体库,本实施例不作具体字体库的限定。通过规范文本的字体库,可以实现对字符宽高的线性控制。S140、根据本文档来自技高网...

【技术保护点】
1.一种TextView线性缩放方法,其特征在于,包括以下步骤:/n根据预设TextSize字符类型接收输入字符;/n在所述输入字符的画笔标志位处配置线性标志;/n根据预设字体库为所述输入字符匹配字体,所述预设字体库为覆盖所有展示字符集合的字体库;/n根据TextView宽度及所述字符的字体特征,计算所述输入字符宽高;/n根据不同安卓设备,按比例线性缩放所述TextView控件宽度及所述输入字符。/n

【技术特征摘要】
1.一种TextView线性缩放方法,其特征在于,包括以下步骤:
根据预设TextSize字符类型接收输入字符;
在所述输入字符的画笔标志位处配置线性标志;
根据预设字体库为所述输入字符匹配字体,所述预设字体库为覆盖所有展示字符集合的字体库;
根据TextView宽度及所述字符的字体特征,计算所述输入字符宽高;
根据不同安卓设备,按比例线性缩放所述TextView控件宽度及所述输入字符。


2.如权利要求1所述的TextView线性缩放方法,其特征在于,所述预设Textsize字符类型为整型。


3.如权利要求1所述的TextView线性缩放方法,其特征在于,所述预设字体库为通过setTypeface指定的字体库。


4.如权利要求1所述的TextView线性缩放方法,其特征在于,根据TextView宽度及所述输入字符的字体特征,计算所述输入字符的宽高,还包括以下步骤:
调用所述输入字符的字体特征,并关闭字距调整功能;
根据所述字体特征计算所述输入字符的宽高。


5.如权利要求1所述的TextView线性缩放方法,其特征在于,所述线性标志为通过setPaintFlags配置的线性标志。


6.如权利要求1所述的TextView线性缩放方法,其特征在于,根据不同安卓设备,按比例线性缩放所述TextView控件宽度及所述输入字符,包括以下步骤:
...

【专利技术属性】
技术研发人员:王伟松于业江郑欢
申请(专利权)人:浙江学海教育科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1