兼容不同分辨率的显示方法和装置与流程

文档序号:11154448阅读:233来源:国知局
兼容不同分辨率的显示方法和装置与制造工艺

本发明涉及电视技术领域,尤其涉及一种兼容不同分辨率的显示方法和装置。



背景技术:

一般地,智能电视应用项目开发中,企业都会基于一个基础机芯派生多个不同尺寸、不同分辨率的项目,所以开发一款android电视应用时,都必须要考虑设计兼容所有分辨率和尺寸,然而谷歌提供的Android自适应兼容方案,开发人员必须针对不同的分辨率设计不同界面布局文件,且每种分辨率中加载不同的图片,不仅无形加大开发的工作量,且最终因打包的图片过多造成最终输出的应用安装包过大,与电视低成本低内存相互冲突,不利于发展需求。因此开发一种可兼容不同分辨率的布局的系统且能减少开发的工作量,并能减少系统所占的内存成为目前需要解决的技术问题。



技术实现要素:

本发明的主要目的在于提供一种兼容不同分辨率的显示方法和装置,旨在实现兼容不同分辨率的页面显示。

为实现上述目的,本发明提供的一种兼容不同分辨率的显示方法包括以下步骤:

获取当前显示设备的分辨率;

根据获取到的当前显示设备的分辨率读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

根据获取到的目标布局参数在当前设备上显示页面布局。

优选地,所述布局配置文件为Xml格式的文件。

优选地,所述根据获取到的当前显示设备的分辨率读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数的步骤包括:

判断获取到的当前显示设备的分辨率在布局配置文件中是否存在于所述分辨率对应的布局配置文件;

若存在,则读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

若不存在,则在预设的布局文件中获取默认的目标布局参数。

优选地,所述布局配置文件中对应的目标布局参数中的布局单位为px。

优选地,所述根据获取到的当前显示设备的分辨率读取Xml文件中对应的当前显示设备的分辨率对应的目标参数信息的步骤之前还包括:

在布局配置文件中写入显示设备中常见分辨率的布局参数。

此外,为实现上述目的,本发明还提供一种兼容不同分辨率的显示装置,所述兼容不同分辨率的显示装置包括:

获取模块,用于获取当前显示设备的分辨率;

读取模块,用于根据获取到的当前显示设备的分辨率读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

显示模块,用于根据获取到的目标布局参数在当前设备上显示页面布局。

优选地,所述布局配置文件为Xml格式的文件。

优选地,所述读取模块包括:

判断单元,用于判断获取到的当前显示设备的分辨率在布局配置文件中是否存在于所述分辨率对应的布局配置文件;

读取单元,用于当布局配置文件中存在当前显示设备对应的布局配置文件时,则读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

获取单元,用于当布局配置文件中不存在当前显示设备对应的布局配置文件时,则在预设的布局文件中获取默认的目标布局参数。

优选地,所述布局配置文件中对应的目标布局参数中的布局单位为px。

优选地,所述兼容不同分辨率的显示装置还包括:

写入模块,用于在布局配置文件中写入显示设备中常见分辨率的布局参数。

本发明通过获取当前显示设备的分辨率;根据获取到的当前显示设备的分辨率读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;根据获取到的目标布局参数在当前设备上显示页面布局。采用本发明的方法,实现了显示设备不同分辨率下的页面布局。

附图说明

图1为本发明兼容不同分辨率的显示方法第一实施例的流程示意图;

图2为本发明兼容不同分辨率的显示方法第二实施例的流程示意图;

图3为本发明兼容不同分辨率的显示装置第一实施例的功能模块示意图;

图4为本发明兼容不同分辨率的显示装置第二实施例的读取模块的细化功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种兼容不同分辨率的显示方法,参照图1,在一实施例中,该兼容不同分辨率的显示方法包括:

步骤S10,获取当前显示设备的分辨率;

在对本发明实施例提供的兼容不同分辨率的显示方法的方案进行详细介绍和说明之前,首先介绍各个实施例中需要用到的几个单位。

像素单位(px):标示屏幕的实际像素值。

布局大小单位(dp):表示屏幕上与像素密度无关的像素,无论屏幕的像素密度为多少,1英寸=160dp。

其中,密度表示根据像素分辨率,在屏幕指定物理宽高范围内能显示的像素数量。在同样的宽高区域,低密度的显示屏能显示的像素较少,而高密度的显示屏则能显示更多的像素。屏幕密度非常重要,因为其它条件不变的情况下,一共宽高固定的UI组件(比如一个按钮)在低密度的显示屏上显得很大,而在高密度显示屏上看起来就很小(单位为dp时)。

本实施例中,通过获取当前显示设备的分辨率,选择与当前显示设备的分辨率匹配的布局方法。其中,所述Xml文件中的布局单位采用px。在同一分辨率,不同密度情况下,设定为固定数值的布局:布局设定单位为px时,只要分辨率不变,密度比变化对显示没有影响。如果设定单位为dp时,分辨率不变,显示会随着密度比变化呈1.5倍放大或者缩小。因此本申请中所述Xml文件中的布局单位采用px。

具体参见以下程序代码:

DisplayMetrics metric=new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metric);

int width=metric.widthPixels;//屏幕宽度(像素)

int height=metric.heightPixels;//屏幕高度(像素)

步骤S20,根据获取到的当前显示设备的分辨率读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

本实施例中,通过预先在布局配置文件中写入显示设备常见的分辨率的布局参数,其中所述的常见的分辨为为1280x720,1920x1080,3840x2160等。其中,所述布置配置文件为Xml格式的文件。对应不同的分辨率,所述Xml文件中存储了与不同分辨率对应的布局参数,所述的布局参数包括文件显示的图片大小、文字大小以及文件布局等。本实施例采用预先在Xml文件中写入相应的布局参数,主要是因为在Xml中写入布局参数,这些参数是可以改变的,如果需要更改的话,只需要更改配置文件即可。但是如果通过直接在代码中设置好固定的布局参数的话,如果需要更改,则需要更改整个代码,给系统的布局带来麻烦。其中所述的布局参数包括页面显示中图片的大小,文字大小以及控件大小等等。

具体参见以下程序代码:

switch(height){

case 720:

mLayout=new LinearLayout(this)

mLayout.setLayoutParams(new LayoutParams)(140,120));

mLayout.setGravity(Gravity.RIGHT);

mLayout.SetBackgroundColour(0xff00ff00);

Break;

case 1080;

mLayout=new LinearLayout(this)

mLayout.setLayoutParams(new LayoutParams)(210,180));

mLayout.setGravity(Gravity.RIGHT);

mLayout.SetBackgroundColour(0xff00ff00);

Break;

case 2160;

mLayout=new LinearLayout(this)

mLayout.setLayoutParams(new LayoutParams)(420,360);

mLayout.setGravity(Gravity.RIGHT);

mLayout.SetBackgroundColour(0xff00ff00);

break;

default:

break;

}

pareat layout.addview(mLayout)

}

步骤S30,根据获取到的目标布局参数在当前设备上显示页面布局;

本实施例中,根据在Xml文件中获取到的目标布局参数在当前显示设备上显示页面布局。

本发明实施例通过获取当前显示设备的分辨率;根据获取到的当前显示设备的分辨率读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;根据获取到的目标布局参数在当前设备上显示页面布局。采用本实施例的方法,可以实现不同分辨率的显示设备的页面布局。

进一步地,参照图2,基于本发明兼容不同分辨率的显示方法第一实施例,在本发明兼容不同分辨率的显示方法第二实施例中,所述步骤S20包括:

步骤S21,判断获取到的当前显示设备的分辨率在布局配置文件中是否存在于所述分辨率对应的目标布局参数;

步骤S22,若存在,则读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

步骤S23,若不存在,则在预设的布局文件中获取默认的目标布局参数。

本实施例中,如果所述写入了显示设备的分辨率的布局参数的Xml文件中,没有与当前显示设备的分辨率匹配的参数,则在预设的布局文件中获取默认的目标布局参数。由于目前的电视显示器、手机屏幕或是电脑屏幕等,均有相应的屏幕尺寸标准,对应的设置了标准的几种分辨率,所以Xml文件中写入的是几种常见的分辨率对应的布局参数,而在Xml中没有相匹配的分辨率,则表示当前显示设备的分辨率不是常有的,那么此时在系统里的默认的布局文件中获取默认的布局参数。

本实施例通过判断当前显示设备的分辨率是否为常见的分辨率,或者说是否存在于Xml文件中来分配不同分辨率的布局参数;如果在Xml文件中没有与之对应的分辨率参数,则在默认的布局文件中获取默认的目标布局参数。以此将显示区分为标准和非标准,统一管理,方便应用。

本发明提供一种兼容不同分辨率的显示装置,参照图3,在一实施例中,该兼容不同分辨率的显示装置包括:

获取模块10,用于获取当前显示设备的分辨率;

在对本发明实施例提供的兼容不同分辨率的显示方法的方案进行详细介绍和说明之前,首先介绍各个实施例中需要用到的几个单位。

像素单位(px):标示屏幕的实际像素值。

布局大小单位(dp):表示屏幕上与像素密度无关的像素,无论屏幕的像素密度为多少,1英寸=160dp。

其中,密度表示根据像素分辨率,在屏幕指定物理宽高范围内能显示的像素数量。在同样的宽高区域,低密度的显示屏能显示的像素较少,而高密度的显示屏则能显示更多的像素。屏幕密度非常重要,因为其它条件不变的情况下,一共宽高固定的UI组件(比如一个按钮)在低密度的显示屏上显得很大,而在高密度显示屏上看起来就很小(单位为dp时)。

本实施例中,通过获取当前显示设备的分辨率,选择与当前显示设备的分辨率匹配的布局方法。其中,所述Xml文件中的布局单位采用px。在同一分辨率,不同密度情况下,设定为固定数值的布局:布局设定单位为px时,只要分辨率不变,密度比变化对显示没有影响。如果设定单位为dp时,分辨率不变,显示会随着密度比变化呈1.5倍放大或者缩小。因此本申请中所述Xml文件中的布局单位采用px。

具体参见以下程序代码:

DisplayMetrics metric=new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(metric);

int width=metric.widthPixels;//屏幕宽度(像素)

int height=metric.heightPixels;//屏幕高度(像素)

读取模块20,用于根据获取到的当前显示设备的分辨率读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

本实施例中,通过预先在Xml文件中写入显示设备常见的分辨率的布局参数,其中所述的常见的分辨为为1280x720,1920x1080,3840x2160等。其中,所述布置配置文件为Xml格式的文件。对应不同的分辨率,所述Xml文件中存储了与不同分辨率对应的布局参数,所述的布局参数包括文件显示的图片大小、文字大小以及文件布局等。本实施例采用预先在Xml文件中写入相应的布局参数,主要是因为在Xml中写入布局参数,这些参数是可以改变的,如果需要更改的话,只需要更改配置文件即可。但是如果通过直接在代码中设置好固定的布局参数的话,如果需要更改,则需要更改整个代码,给系统的布局带来麻烦。其中所述的布局参数包括页面显示中图片的大小,文字大小以及控件大小等等。

具体参见以下程序代码:

switch(height){

case 720:

mLayout=new LinearLayout(this)

mLayout.setLayoutParams(new LayoutParams)(140,120));

mLayout.setGravity(Gravity.RIGHT);

mLayout.SetBackgroundColour(0xff00ff00);

Break;

case 1080;

mLayout=new LinearLayout(this)

mLayout.setLayoutParams(new LayoutParams)(210,180));

mLayout.setGravity(Gravity.RIGHT);

mLayout.SetBackgroundColour(0xff00ff00);

Break;

case 2160;

mLayout=new LinearLayout(this)

mLayout.setLayoutParams(new LayoutParams)(420,360);

mLayout.setGravity(Gravity.RIGHT);

mLayout.SetBackgroundColour(0xff00ff00);

break;

default:

break;

}

pareat layout.addview(mLayout)

}

显示模块30,用于根据获取到的目标布局参数在当前设备上显示页面布局;

本实施例中,根据在Xml中获取到的目标布局参数在当前显示设备上显示页面布局。

本发明实施例通过获取当前显示设备的分辨率;根据获取到的当前显示设备的分辨率读取Xml文件中对应的当前显示设备的分辨率对应的目标布局参数;根据获取到的目标布局参数在当前设备上显示页面布局。采用本实施例的方法,可以实现不同分辨率的显示设备的布局。

进一步地,参照图4,基于本发明兼容不同分辨率的显示装置第一实施例,在本发明兼容不同分辨率的显示装置第二实施例中,所述读取模块20包括:

判断单元21,用于判断获取到的当前显示设备的分辨率在布局配置文件中是否存在于所述分辨率对应的目标布局参数;

读取单元22,用于当布局配置文件中存在当前显示设备对应的布局配置文件时,则读取布局配置文件中对应的当前显示设备的分辨率对应的目标布局参数;

获取单元23,用于当布局配置文件中不存在当前显示设备对应的布局配置文件时,则在预设的布局文件中获取默认的目标布局参数。

本实施例中,如果所述写入了显示设备的分辨率的布局参数的Xml文件中,没有与当前显示设备的分辨率匹配的参数,则在预设的布局文件中获取默认的目标布局参数。由于目前的电视显示器、手机屏幕或是电脑屏幕等,均有相应的屏幕尺寸标准,对应的设置了标准的几种分辨率,所以Xml文件中写入的是几种常见的分辨率对应的布局参数,而在Xml文件中没有相匹配的分辨率,则表示当前显示设备的分辨率不是常有的,那么此时在系统里的默认的布局文件中获取默认的布局参数。

本实施例通过判断当前显示设备的分辨率是否为常见的分辨率,或者说是否存在于Xml文件中来分配不同分辨率的布局参数;如果在Xml文件中没有与之对应的分辨率参数,则在默认的布局文件中获取默认的目标布局参数。以此将显示区分为标准和非标准,统一管理,方便应用。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1