一种基于百分比的Android手机屏幕适配方法组成比例

技术编号:13464049 阅读:30 留言:0更新日期:2016-08-04 17:58
本发明专利技术公开了一种基于百分比的Android手机屏幕适配方法,该方法针对现有的Android手机屏幕适配方案的不足,提出了一种根据屏幕尺寸和像素无关密度之间的映射关系的基于百分比的屏幕适配方案。主要包括确定需要适配的手机屏幕分辨率、将需要适配的手机屏幕分辨率在横向和纵向上以UI基准进行等分,计算出在这个基准下一个单元的高度和宽度所分别对应的像素值、然后通过编程,自动生成适配文件的工具类,生成需要适配的分辨率所对应的XML文件、引用适配文件中对应数值的方式设置控件的参数,系统会根据当前设备的分辨率找到准确的像素值设置给控件,从而可以实现准确的适配。本发明专利技术利用了Android系统自适应特性,与传统适配方案相比,可以精确地适配不同手机分辨率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,该方法针对现有的Android手机屏幕适配方案的不足,提出了一种根据屏幕尺寸和像素无关密度之间的映射关系的基于百分比的屏幕适配方案。主要包括确定需要适配的手机屏幕分辨率、将需要适配的手机屏幕分辨率在横向和纵向上以UI基准进行等分,计算出在这个基准下一个单元的高度和宽度所分别对应的像素值、然后通过编程,自动生成适配文件的工具类,生成需要适配的分辨率所对应的XML文件、引用适配文件中对应数值的方式设置控件的参数,系统会根据当前设备的分辨率找到准确的像素值设置给控件,从而可以实现准确的适配。本专利技术利用了Android系统自适应特性,与传统适配方案相比,可以精确地适配不同手机分辨率。【专利说明】一种基于百分比的Andro i d手机屏幕适配方法
本专利技术涉及一种图像数据处理领域中的图像转换技术,具体涉及一种针对Android系统移动终端的屏幕适配方法。
技术介绍
随着互联网的迅速发展,移动客户端应用的开发被推到了风口浪尖。根据报告显示在中国市场上Android系统的市场份额2014年己经增加至86%,并且还在不断提升。在国内市场上,像小米的MIU1、华为的EMU1、魅族的Flyme系统等,都是在Android系统基础上深度定制的操作系统,以此来满足国人的使用习惯。但是正是由于这种开放性,使得Android系统的定制参差不齐。不同厂商可以根据自身需要定制系统,因此出现了“碎片化”问题。如图1所示。该图中每一个矩形代表一种Android设备屏幕尺寸。传统的适配解决方法是,在编写布局文件时尽量使用wrap_content、match_口&代111:、'\¥618111:属性来设定一个控件的宽和高。使用¥瓜口_001^6111:,系统就会将视图的宽度或高度设置成所需的最小尺寸以适应视图中的内容,而match_parent(在低于API级别8的级别中称为fill_parent)则会展开组件以填充其父视图的尺寸。而weight则是线性布局(Liner Layout)中的特有属性,我们可以根据纵向或者横向的控件个数和weight的本比例来对界面进行分配。但是如果想要界面变得更加美观、更加符合用户的使用习惯,仅仅凭借这种方法是远远不够的。所以我们想到了像素无关的密度单位dp和sp来控制控件的长宽。虽然dp可以使相同的控件在不同的屏幕下显示的效果近似,但是并不是所有的屏幕宽度都是相同的dp长度。当设备的物理尺寸存在差异的时候,dp就显得无能为力了。比如为4.3寸屏幕准备的UI,运行在5.0寸的屏幕上,很可能在右侧和下侧存在大量的空白;而5.0寸的UI运行到4.3寸的设备上,就无法全部显示。所以上述传统适配解决方法并不能解决所有适配问题,虽然dp能够让同一数值在不同分辨率展示出大致相同的尺寸大小,比如,公开号为CN103905643A的专利技术针对不同分辨率的手机屏幕需要使用不同分辨率的背景图片的问题,提出了一种单一背景图片手机适配方法,但是当设备的尺寸差异较大时,这种方法就无能为力了。Android手机的屏幕适配一直以来都是开发者必须要面对的一个头疼的问题。从手机到平板,现在市面上各种移动设备屏幕尺寸和分辨率各式各样,Android开发者在完善应用的功能的同时还需要对参差不齐的设备和定制化系统完成适配,以提高用户体验,这需要分散相当大的时间和精力。所以提出一种快速准确可复用的屏幕适配方案势在必行。
技术实现思路
本专利技术针对上述现有的Android手机屏幕适配方案的不足,提出了一种根据屏幕尺寸和像素无关密度(Density Independent Pixels)之间的映射关系的基于百分比的屏幕适配方案。本专利技术在屏幕尺寸和像素无关密度之间映射关系的基础上,提出了一种基于百分比的手机屏幕适配方法,可以便捷准确的完成屏幕适配工作,使开发者可以设计出更加丰富多彩并且有较好交互体验的用户界面。包括以下步骤:(I)根据项目需求确定需要适配的手机屏幕分辨率,包括市面上主流的分辨率以及特殊的分辨率(比如平板等)。(2)以UI给出的设计图的分辨率为基准,将需要适配的手机屏幕分辨率在横向和纵向上以这个基准进行等分,并计算出在这个基准下一个单元的高度和宽度所分别对应的像素值。(3)然后通过文件输入输出流的编程,实现自动生成适配文件的工具类,生成需要适配的分辨率所对应的values文件夹,以〃 values-需要适配的分辨率〃的格式对该文件夹进行命名,该文件夹下包含两个文件,分别是记录屏幕宽度像素值和屏幕高度像素值的XML文件,这些像素值来自步骤2中的计算结果。(4)在编写布局文件时,直接使用设计图上的PX数值,即通过引用适配文件中对应数值的方式设置控件的属性以及距离,系统会根据当前设备的分辨率到步骤3中生成的values文件夹中找到准确的像素值设置给控件,从而可以实现准确的适配。如果需要适配一些特殊的分辨率,则通过命令行的方式将需要适配的特殊分辨率以参数的形式输入,生成需要适配分辨率的适配文件,然后根据Android系统的自适应特性,将这些适配文件夹加入Android项目的res目录下,最后执行步骤4,完成准确的适配。有益效果:本专利技术根据目前Android项目开发过程中屏幕适配方案的不足,提出了一种根据屏幕尺寸和像素无关密度(Density Independent Pixels)之间的映射关系的基于百分比的屏幕适配方案。该方案具有以下优点:(I)根据Android系统自适应特性,计算得到不同分辨率下对应的像素值,所以与传统适配方案相比可以精确地适配不同手机分辨率。(2)该方案是以UI给出的设计图分辨率为基准,以开发者可以直接使用设计图中标注的px数值设置宽高属性,非常便捷,减轻了开发者在px和dp之间转换的压力。(3)并且分辨率是以基准进行等分,很容易实现类似于WEB网页布局中的百分比布局,而这正是Andro i d布局中所不具有的属性。(4)该方案生成的各个分辨率是适配文件是通用的,不同项目可以使用相同的适配文件,所以具有很好的复用性。(5)若需要添加新的适配分辨率只需要通过命令行的方式,就可以快速生成对应的分辨率的适配文件,具有很好的扩展性。【附图说明】图1是反映目前Android设备屏幕“碎片化”问题的示意图。图2是本专利技术适配方案的流程图。图3是本专利技术一个实施例的适配流程图。【具体实施方式】现结合附图对本专利技术的具体实施作进一步的说明。本专利技术在屏幕尺寸和像素无关密度之间映射关系的基础上,提出了一种基于百分比的手机屏幕适配方法,可以便捷准确的完成屏幕适配工作,使开发者可以设计出更加丰富多彩并且有较好交互体验的用户界面。如图2所示,包括以下步骤:(I)根据项目需求确定需要适配的手机屏幕分辨率,包括市面上主流的分辨率以及特殊的分辨率(比如平板等)。(2)以UI给出的设计图的分辨率为基准,将需要适配的手机屏幕分辨率在横向和纵向上以这个基准进行等分,并计算出在这个基准下一个单元的高度和宽度所分别对应的像素值。(3)然后通过文件输入输出流的编程,实现自动生成适配文件的工具类,生成需要适配的分辨率所对应的values文件夹,以〃 values-需要适配的分辨率〃的格式对该文件夹进行命名,该文件夹下包含两个文件,分别本文档来自技高网
...

【技术保护点】
一种基于百分比的Android手机屏幕适配方法,其特征在于包括以下步骤:1)根据项目需求确定需要适配的手机屏幕分辨率;2)以UI给出的设计图的分辨率为基准,将需要适配的手机屏幕分辨率在横向和纵向上以这个基准进行等分,并计算出在这个基准下一个单元的高度和宽度所分别对应的像素值px;3)通过文件输入输出流的编程,实现自动生成适配文件的工具类,生成需要适配的分辨率所对应的values文件夹,以values‑需要适配的分辨率的格式对该文件夹进行命名,该文件夹下包含两个文件,分别是记录屏幕宽度像素值和屏幕高度像素值的XML文件,这些像素值来自步骤2中的计算结果;4)在编写布局文件时直接使用设计图上的px数值,即通过引用适配文件中对应数值的方式设置控件的属性和距离,系统会根据当前设备的分辨率到上述步骤3中生成的values文件夹中找到准确的像素值设置给控件,从而可以实现准确的适配。

【技术特征摘要】

【专利技术属性】
技术研发人员:钱程蒋国平
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

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

1