CN102724456A - 显示终端基于Android应用的OSD压缩方法及装置 - Google Patents
显示终端基于Android应用的OSD压缩方法及装置 Download PDFInfo
- Publication number
- CN102724456A CN102724456A CN2012101830405A CN201210183040A CN102724456A CN 102724456 A CN102724456 A CN 102724456A CN 2012101830405 A CN2012101830405 A CN 2012101830405A CN 201210183040 A CN201210183040 A CN 201210183040A CN 102724456 A CN102724456 A CN 102724456A
- Authority
- CN
- China
- Prior art keywords
- compression
- root view
- osd
- root
- view
- 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.)
- Granted
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种显示终端基于Android应用的OSD压缩方法及装置,其中所述OSD压缩方法包括以下步骤:获取当前Activity的根视图;压缩所述根视图;将压缩后的所述根视图进行平移。本发明提供的OSD压缩方法提高了OSD压缩的灵活性。
Description
技术领域
本发明涉及显示终端领域,特别涉及一种显示终端基于Android应用的OSD压缩方法及装置。
背景技术
随着电视技术的发展,一屏双显技术在电视***上的应用也日趋成熟。现有技术中,对OSD(on-screen display,屏幕菜单式调节方式)的处理通常采用压缩整个OSD层来实现双屏显示。由于整个OSD层进行压缩时,所有应用和菜单将被一起压缩,其缺陷在于,OSD压缩的灵活性较差,亟需改进。
发明内容
本发明的主要目的在于提供一种显示终端基于Android应用的OSD压缩方法,旨在提高OSD压缩的灵活性。
为了实现发明目的,本发明提供一种显示终端基于Android应用的OSD压缩方法,包括以下步骤:
获取当前Activity的根视图;
压缩所述根视图;
将压缩后的所述根视图进行平移。
优选地,所述获取当前Activity的根视图步骤具体包括:
当接收到用户发送的OSD显示命令时,获取与所述Activity的窗口对应的布局文件;
根据所述根视图的根控件从所述布局文件查找获得对应的根视图。
优选地,所述压缩根视图步骤具体包括:
调用沿宽度方向压缩根视图的setScaleX方法将所述根视图的宽度压缩为预置的第一阈值;
调用沿高度方向压缩根视图的setScaleY方法将所述根视图的高度压缩为预置的第二阈值。
优选地,所述第一阈值的大小等于所述根视图的宽度的一半,所述第二阈值的大小等于所述根视图的高度。
优选地,所述将压缩后的根视图进行平移步骤包括:
调用ObjectAnimator方法对压缩后的所述根视图进行平移操作。
本发明还提供一种显示终端基于Android应用的OSD压缩装置,包括:
获取模块,用于获取当前Activity的根视图;
压缩模块,用于压缩所述根视图;
平移模块,用于将压缩后的所述根视图进行平移。
优选地,所述获取模块包括:
获取子块,用于当接收到用户发送的OSD显示命令时,获取与所述Activity的窗口对应的布局文件;
查找子块,用于根据所述根视图的根控件从所述布局文件查找获得对应的根视图。
优选地,所述压缩模块包括:
第一压缩子块,用于调用沿宽度方向压缩根视图的setScaleX方法将所述根视图的宽度压缩为预置的第一阈值;
第二压缩子块,用于调用沿高度方向压缩根视图的setScaleY方法将所述根视图的高度压缩为预置的第二阈值。
优选地,所述第一阈值的大小等于所述根视图的宽度的一半,所述第二阈值的大小等于所述根视图的高度。
优选地,所述平移模块,具体用于调用ObjectAnimator方法对压缩后的所述根视图进行平移操作。
本发明通过获取Activity的根视图,并调整该根视图的大小,实现OSD中Activity的压缩。由于OSD压缩过程中,只对Activity层压缩,无需对其他的应用和菜单进行压缩,因此本发明提供的OSD压缩方法提高了OSD压缩的灵活性。此外,采用setScaleX和setScaleY计算方法实现根视图的压缩,该压缩的计算方法可使压缩后的画面像素信息无损失,因此提高了OSD压缩后画面显示的效果。
附图说明
图1为本发明显示终端基于Android应用的OSD压缩方法一实施例的流程示意图;
图2为本发明显示终端基于Android应用的OSD压缩方法一实施例中获取根视图的流程示意图;
图3为本发明显示终端基于Android应用的OSD压缩方法一实施例中根视图压缩的流程示意图;
图4为本发明显示终端基于Android应用的OSD压缩装置一实施例的结构示意图;
图5为图4中获取模块的结构示意图;
图6为图4中压缩模块的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明实施例中,显示终端为具有显示功能的电子设备,例如智能手机和电视机。以下将以电视机为例,详细说明本发明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明显示终端基于Android应用的OSD压缩方法一实施例的流程示意图。
提供一种显示终端基于Android应用的OSD压缩方法,包括以下步骤:
步骤S10,获取当前Activity的根视图;
Activity为Android的四大组件之一,该Activity包括一默认的显示窗口,该显示窗口具有一层一层的视图,该一层一层的视图包括一用于设置窗口大小的根视图。
步骤S20,压缩上述根视图;
当电视机获取到上述根视图,可根据预置的压缩方法对该根视图进行压缩。应当说明的是,本实施例中的压缩是指对该根视图的大小进行压缩,例如,可将上述根视图压缩为高度保持不变,宽度缩小一半的根视图,即上述Activity通过压缩后的显示窗口显示的区域等于原来显示窗口的一半。
步骤S30,将压缩后的上述根视图进行平移。
当上述根视图压缩完毕后,将压缩后的根视图进行平移,平移至显示屏对应的显示区域,然后激活该OSD画面的动画效果,完成OSD压缩操作。
本发明通过获取Activity的根视图,并调整该根视图的大小,实现OSD中Activity的压缩。由于OSD压缩过程中,只对Activity层压缩,无需对其他的应用和菜单进行压缩,因此本发明提供的OSD压缩方法提高了OSD压缩的灵活性。
参照图2,图2为本发明显示终端基于Android应用的OSD压缩方法一实施例中获取根视图的流程示意图。本实施例中,上述步骤S10包括:
步骤S101,当接收到用户发送的OSD显示命令时,获取与上述Activity的窗口对应的布局文件;
步骤S102,根据上述根视图的根控件从上述布局文件查找获得对应的根视图。
例如,用户在观看电视时,可通过遥控器控制OSD画面从全屏显示切换至双屏显示。此时遥控器将发送一OSD压缩指令至电视机,电视机接收到该OSD压缩指令后,通过调用setContentView接口查找到当前Activity的窗口对应的布局文件,本实施例中该布局文件为XML格式的文件。当查找获得该布局文件后,通过调用findViewById方法,并根据根视图的根控件从该布局文件中查找获得对应的根视图。该根控件为根视图的标示符ID。
参照图3,图3为本发明显示终端基于Android应用的OSD压缩方法一实施例中根视图压缩的流程示意图。本实施例中,上述步骤S20包括:
步骤S201,调用沿宽度方向压缩根视图的setScaleX方法将上述根视图的宽度压缩为第一阈值;
步骤S202,调用沿高度方向压缩根视图的setScaleY方法将上述根视图的高度压缩为第二阈值。
具体的,根视图的压缩的计算方法可根据实际需要进行设置,作为优选,本实施例调用setScaleX(float f)和setScaleY(float g)计算方法,使根视图的宽度和高度分别压缩至预置的第一阈值和第二阈值。例如,电视机屏幕的宽度为L,高度为H,第一阈值为L/4,第二阈值为H/2。当电视机进入双屏显示时,setScaleX(float f)中f的值为第一阈值与电视机屏幕的宽度的比值,即f=0.25;setScaleY(float g)中g的值为第二阈值与电视机屏幕的高度的比值,即g=0.5。通过setScaleX(0.25)和setScaleY(0.5)将根视图的宽度和高度分别压缩至L/4和H/2。
应当说明的是,本实施例中第一阈值和第二阈值的大小可根据双屏显示时显示区域的大小进行设定,在此不作进一步限定。优选的,本实施例中第一阈值为L/2,第二阈值为H;上述宽度方向为Android***定义的X方向,上述高度方向为Android***定义的Y方向。
本发明实施例提供的OSD压缩方法中,Android***为具有setScaleX方法和setScaleY方法接口的Android***。由于本实施例采用setScaleX(float f)和setScaleY(float g)计算方法实现根视图的压缩,该压缩的计算方法可使压缩后的画面像素信息无损失,因此提高了OSD压缩后画面显示的效果。
具体的,上述步骤S30包括:
调用ObjectAnimator方法对压缩后的根视图进行平移操作。
例如,电视机双屏显示的显示区域为左右均分的两个半屏,则上述第一阈值为L/2和第二阈值为H,采用上述setScaleX(float f)和setScaleY(float g)计算方法对根视图进行压缩后,压缩后的根视图的宽度为L/2、高度为H、中心点与屏的中心点重合。通过调用ObjectAnimator方法对根视图向左或向右进行平移操作,平移长度为屏幕宽度的四分之一,即为L/4。具体的,使用ObjectAnimator.ofFloat(view,“translationX”,L/4)方法来实现平移效果,其中第一个参数view为对象名,即该view的为根视图,第二个参数为属性名,该“translationX”表示动画属性为沿X轴平移,第三个参数为可变参数,该参数为根视图沿X轴平移的位移量,正数表示将根视图向右平移,负数表示将根视图向左平移。当根视图移动到位后,激活动画效果,完成OSD的压缩。
本发明还提供一种显示终端基于Android应用的OSD压缩装置,用于实现上述方法。参照图4,图4为本发明显示终端基于Android应用的OSD压缩装置一实施例的结构示意图。该显示终端基于Android应用的OSD压缩装置包括:
获取模块100,用于获取当前Activity的根视图;
Activity为Android的四大组件之一,该Activity包括一默认的显示窗口,该显示窗口具有一层一层的视图,该一层一层的视图包括一用于设置窗口大小的根视图。
压缩模块200,用于压缩上述根视图;
当获取模块100获取得到当前Activity的根视图,将该根视图发送压缩模块200。压缩模块200根据可根据预置的压缩方法对该根视图进行压缩。应当说明的是,本实施例中的压缩是指对该根视图的大小进行压缩,例如,可将上述根视图压缩为高度保持不变,宽度缩小一半的根视图,即上述Activity通过压缩后的显示窗口显示的区域等于原来显示窗口的一半。
平移模块300,用于将压缩后的上述根视图进行平移。
压缩模块200对根视图压缩完成后,输出一压缩完成信号至平移模块300,平移模块300接收到该压缩完成信号后,将压缩后的根视图移动至显示屏对应的显示区域,然后激活该OSD画面的动画效果,完成OSD压缩操作。
本发明通过获取模块100获取Activity的根视图,并通过压缩模块200调整该根视图的大小,实现OSD中Activity的压缩。由于OSD压缩过程中,只对Activity层压缩,无需对其他的应用和菜单进行压缩,因此本发明提供的OSD压缩装置提高了OSD压缩的灵活性。
参照图5,图5为图4中获取模块的结构示意图。本实施例中,获取模块100包括:
获取子块101,用于当接收到用户发送的OSD显示命令时,获取与上述Activity的窗口对应的布局文件;
查找子块102,用于根据上述根视图的根控件从上述布局文件查找获得对应的根视图。
例如,用户在观看电视时,可通过遥控器控制OSD画面从全屏显示切换至双屏显示。此时遥控器将发送一OSD压缩指令至电视机,当获取子块101接收到该OSD压缩指令后,通过调用setContentView接口查找到当前Activity的窗口对应的布局文件,本实施例中该布局文件为XML格式的文件。当获取子块101查找获得该布局文件后,由查找子块102调用findViewById方法,并根据根视图的根控件从该布局文件中查找获得对应的根视图。该根控件为根视图的标示符ID。
参照图6,图6为图4中压缩模块的结构示意图。本实施例中,上述压缩模块200包括:
第一压缩子块201,用于调用沿宽度方向压缩根视图的setScaleX方法将上述根视图的宽度压缩为预置的第一阈值;
第二压缩子块202,用于调用高度方向压缩根视图的setScaleY方法将上述根视图的高度压缩为预置的第二阈值。
具体的,根视图的压缩的计算方法可根据实际需要进行设置,作为优选,本实施例中查找子块102(参照图5所示)将查找获得的根视图输出至第一压缩子块201,由第一压缩子块201调用setScaleX(floatf)计算方法,使根视图的宽度压缩至预置的第一阈值;然后将压缩后的根视图输出至第二压缩子块202,由第二压缩子块202调用setScaleY(float g)计算方法,使根视图的高度压缩至预置的第二阈值。例如,电视机屏幕的宽度为L,高度为H,第一阈值为L/4,第二阈值为H/2。当电视机进入双屏显示时,则setScaleX(float f)中f的值为第一阈值与电视机屏幕的宽度的比值,即f=0.25;setScaleY(floatg)中g的值为第二阈值与电视机屏幕的高度的比值,即g=0.5。通过setScaleX(0.25)和setScaleY(0.5)将根视图的宽度和高度分别压缩至L/4和H/2。
应当说明的是,本实施例中第一阈值和第二阈值的大小可根据双屏显示时显示区域的大小进行设定,在此不作进一步限定。优选的,本实施例中第一阈值为L/2,第二阈值为H;上述宽度方向为Android***定义的X方向,上述高度方向为Android***定义的Y方向。
本发明实施例提供的OSD压缩装置中,Android***为具有setScaleX方法和setScaleY方法接口的Android***。由于本实施例采用setScaleX(float f)和setScaleY(float g)计算方法实现根视图的压缩,该压缩的计算方法可使压缩后的画面像素信息无损失,因此提高了OSD压缩后画面显示的效果。
具体的,上述平移模块300,用于调用ObjectAnimator方法对压缩后的上述根视图进行平移操作。
当上述第二压缩子块202对根视图的压缩操作完成后发送一压缩完成信号至平移模块300,平移模块300接收到第二压缩子块202所发送的压缩完成信号后,将压缩后的根视图移动至显示屏对应的显示区域,然后激活该OSD画面的动画效果,以完成OSD的压缩操作。例如,电视机双屏显示的显示区域为左右均分的两个半屏,则上述第一阈值为L/2和第二阈值为H,采用上述setScaleX(float f)和setScaleY(float g)计算方法对根视图进行压缩后,压缩后的根视图的宽度为L/2、高度为H、中心点与屏的中心点重合。平移模块300通过调用ObjectAnimator方法对根视图向左或向右进行平移操作,平移长度为屏幕宽度的四分之一,即为L/4。具体的,通过调用ObjectAnimator.ofFloat(view,“translationX”,L/4)方法来实现平移效果,其中第一个参数view为对象名,即该view的为根视图,第二个参数为属性名,该“translationX”表示动画属性为沿X轴平移,第三个参数为可变参数,该参数为根视图沿X轴平移的位移量,正数表示将根视图向右平移,负数表示将根视图向左平移。当根视图移动到位后,激活动画效果,完成OSD的压缩。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种显示终端基于Android应用的OSD压缩方法,其特征在于,包括以下步骤:
获取当前Activity的根视图;
压缩所述根视图;
将压缩后的所述根视图进行平移。
2.如权利要求1所述的OSD压缩方法,其特征在于,所述获取当前Activity的根视图步骤具体包括:
当接收到用户发送的OSD显示命令时,获取与所述Activity的窗口对应的布局文件;
根据所述根视图的根控件从所述布局文件查找获得对应的根视图。
3.如权利要求1所述的OSD压缩方法,其特征在于,所述压缩根视图步骤具体包括:
调用沿宽度方向压缩根视图的setScaleX方法将所述根视图的宽度压缩为预置的第一阈值;
调用沿高度方向压缩根视图的setScaleY方法将所述根视图的高度压缩为预置的第二阈值。
4.如权利要求3所述的OSD压缩方法,其特征在于,所述第一阈值的大小等于所述根视图的宽度的一半,所述第二阈值的大小等于所述根视图的高度。
5.如权利要求1所述的OSD压缩方法,其特征在于,所述将压缩后的根视图进行平移步骤包括:
调用ObjectAnimator方法对压缩后的所述根视图进行平移操作。
6.一种显示终端基于Android应用的OSD压缩装置,其特征在于,包括:
获取模块,用于获取当前Activity的根视图;
压缩模块,用于压缩所述根视图;
平移模块,用于将压缩后的所述根视图进行平移。
7.如权利要求6所述的OSD压缩装置,其特征在于,所述获取模块包括:
获取子块,用于当接收到用户发送的OSD显示命令时,获取与所述Activity的窗口对应的布局文件;
查找子块,用于根据所述根视图的根控件从所述布局文件查找获得对应的根视图。
8.如权利要求6所述的OSD压缩装置,其特征在于,所述压缩模块包括:
第一压缩子块,用于调用沿宽度方向压缩根视图的setScaleX方法将所述根视图的宽度压缩为预置的第一阈值;
第二压缩子块,用于调用沿高度方向压缩根视图的setScaleY方法将所述根视图的高度压缩为预置的第二阈值。
9.如权利要求8所述的OSD压缩装置,其特征在于,所述第一阈值的大小等于所述根视图的宽度的一半,所述第二阈值的大小等于所述根视图的高度。
10.如权利要求6所述的OSD压缩装置,其特征在于,所述平移模块,具体用于调用ObjectAnimator方法对压缩后的所述根视图进行平移操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210183040.5A CN102724456B (zh) | 2012-06-05 | 2012-06-05 | 显示终端基于Android应用的OSD压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210183040.5A CN102724456B (zh) | 2012-06-05 | 2012-06-05 | 显示终端基于Android应用的OSD压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102724456A true CN102724456A (zh) | 2012-10-10 |
CN102724456B CN102724456B (zh) | 2016-04-06 |
Family
ID=46950106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210183040.5A Active CN102724456B (zh) | 2012-06-05 | 2012-06-05 | 显示终端基于Android应用的OSD压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102724456B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461573A (zh) * | 2014-12-23 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种视图层次的控制处理方法 |
CN105812882A (zh) * | 2014-12-30 | 2016-07-27 | 深圳Tcl新技术有限公司 | 基于帧交错的一屏多显的控制方法及显示设备 |
WO2023005444A1 (zh) * | 2021-07-30 | 2023-02-02 | 中兴通讯股份有限公司 | 一种终端桌面显示方法、装置及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833447A (zh) * | 2010-04-08 | 2010-09-15 | 广东欧珀移动通信有限公司 | 一种利用补间动画实现桌面Widget动画的方法 |
CN102291491A (zh) * | 2011-08-18 | 2011-12-21 | 深圳市融创天下科技股份有限公司 | 一种表单控件和包含表单控件的终端设备 |
-
2012
- 2012-06-05 CN CN201210183040.5A patent/CN102724456B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833447A (zh) * | 2010-04-08 | 2010-09-15 | 广东欧珀移动通信有限公司 | 一种利用补间动画实现桌面Widget动画的方法 |
CN102291491A (zh) * | 2011-08-18 | 2011-12-21 | 深圳市融创天下科技股份有限公司 | 一种表单控件和包含表单控件的终端设备 |
Non-Patent Citations (1)
Title |
---|
ANDROID.COM: "《Android SDK 2.3.4》", 20 April 2012 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461573A (zh) * | 2014-12-23 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 一种视图层次的控制处理方法 |
CN104461573B (zh) * | 2014-12-23 | 2017-10-20 | 上海斐讯数据通信技术有限公司 | 一种视图层次的控制处理方法 |
CN105812882A (zh) * | 2014-12-30 | 2016-07-27 | 深圳Tcl新技术有限公司 | 基于帧交错的一屏多显的控制方法及显示设备 |
WO2023005444A1 (zh) * | 2021-07-30 | 2023-02-02 | 中兴通讯股份有限公司 | 一种终端桌面显示方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102724456B (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130258206A1 (en) | Method, apparatus and system for mobile terminal to remotely control television | |
CN202759554U (zh) | 电视机及电视节目接收*** | |
CN105677265A (zh) | 一种显示方法及终端 | |
CN105320481A (zh) | 数据的显示方法及装置、移动终端 | |
CN104298484A (zh) | 多屏互动方法及装置 | |
CN103037256A (zh) | 移动终端与电视接收终端屏幕共享的方法及电视接收终端 | |
CN103607658A (zh) | 利用移动终端向智能电视应用软件输入字符的方法 | |
CN102724456B (zh) | 显示终端基于Android应用的OSD压缩方法及装置 | |
CN105721934A (zh) | 视频的无线传输设备、视频播放设备、方法及*** | |
CN105578256A (zh) | 一种互动消息显示方法及装置 | |
CN102421021A (zh) | 控制流媒体视频横竖屏播放的方法及其***、终端 | |
CN101909179A (zh) | 机顶盒浏览器显示区域自动适配方法 | |
CN205105347U (zh) | 视频的无线传输设备、视频播放设备及*** | |
CN103873943A (zh) | 一种osd交互界面显示方法、终端及*** | |
CN103716710A (zh) | 一种智能电视终端的输入方法和智能电视终端 | |
CN103198125A (zh) | 页面数据加载的控制方法及*** | |
CN104811802A (zh) | 图像播放方法及装置 | |
CN103686404A (zh) | 一种移动终端播放机顶盒画面的方法和*** | |
CN105657429A (zh) | 视频压缩方法 | |
CN102290035A (zh) | 一种电视机屏的背光动态调节方法、装置及电视机 | |
CN103188543A (zh) | 遥控方法及装置 | |
CN104079860A (zh) | 一种信息处理方法及电子设备 | |
CN102855112A (zh) | 用于屏幕控制的装置 | |
CN113497967B (zh) | 基于浏览器的视频帧切换方法、装置和存储介质 | |
CN103778197A (zh) | 软件分类方法及具有软件分类功能的电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |