CN109634695B - 一种sdk界面自动适配软件横竖屏的方法及装置 - Google Patents

一种sdk界面自动适配软件横竖屏的方法及装置 Download PDF

Info

Publication number
CN109634695B
CN109634695B CN201710930307.5A CN201710930307A CN109634695B CN 109634695 B CN109634695 B CN 109634695B CN 201710930307 A CN201710930307 A CN 201710930307A CN 109634695 B CN109634695 B CN 109634695B
Authority
CN
China
Prior art keywords
interface
sdk
party application
target
target interface
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.)
Active
Application number
CN201710930307.5A
Other languages
English (en)
Other versions
CN109634695A (zh
Inventor
龚宁
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710930307.5A priority Critical patent/CN109634695B/zh
Publication of CN109634695A publication Critical patent/CN109634695A/zh
Application granted granted Critical
Publication of CN109634695B publication Critical patent/CN109634695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephone Function (AREA)

Abstract

本发明提供一种SDK界面自动适配软件横竖屏的方法及装置,所述方法包括:当第三方应用打开SDK的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;显示设置了显示参数的所述SDK的目标界面。本发明通过在SDK内部获取第三方应用的方向属性,可避免因第三方应用传错界面方向参数导致SDK界面显示与第三方应用方向不一致的情形出现,提升了用户体验。

Description

一种SDK界面自动适配软件横竖屏的方法及装置
技术领域
本发明涉及互联网开发技术领域,更具体地,涉及一种SDK界面自动适配软件横竖屏的方法及装置。
背景技术
软件开发工具包(SDK)是一种为应用程序提供接口和功能的开发工具集合,提供给第三方应用,通常SDK中有一些功能和展示界面,而第三方应用有的是横屏应用有的是竖屏应用还有的是随用户终端(如手机、ipad)重力感应展示横屏界面或竖屏界面的应用。从而软SDK中的界面方向应该与第三方应用的界面方向保持一致,例如,第三方应用界面是横屏,则打开SDK界面时界面也应该是横屏,且SDK的横屏界面应当适配展示(竖屏展示的界面长比宽高,若不适配则横屏时界面会被拉伸展示,效果差),若第三方应用为重力感应展示横竖屏,则在切换手机横竖屏时,随着第三方应用界面横竖屏的改变,SDK的界面也应该同步更改与之统一。
目前解决软件开发工具包与第三方应用界面方向一致性问题的方案是SDK提供给第三方应用的打开界面的接口方法里有个界面方向参数,第三方应用打开SDK界面时即调用SDK提供给第三方应用的打开界面的接口方法时会通过这个界面方向参数告诉SDK的界面要如何显示,SDK根据传递的界面方向参数相应地展示SDK页面,若第三方应用支持重力感应展示横竖屏,则第三方软件的界面切换横竖屏后需要再次调用SDK提供的打开界面的接口方法并传递界面方向参数。并且,SDK页面横屏适配的问题需要重新布局界面,需要两套界面及代码来实现横屏和竖屏的界面展示。
这种方案对第三方应用来说,需要多次调用SDK提供的接口,并指明正确的界面方向,这样会增加第三方应用接入的成本和难度,同时若第三方应用传错界面方向参数会导致SDK界面的显示和第三方软件的界面显示的方向不一致,影响用户体验。
发明内容
为了解决现有SDK界面与第三方应用的界面方向保持一致时存在的需要多次调用接口方法并传递界面方向参数所导致的容易出错、开发成本高、影响用户体验的问题,本发明提供一种SDK界面自动适配软件横竖屏的方法及装置。
根据本发明的一个方面,提供一种SDK界面自动适配软件横竖屏的方法,包括:
S1,当第三方应用打开软件开发工具包(SDK)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;
S2,在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;
S3,根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;
S4,显示设置了显示参数的所述SDK的目标界面。
其中,所述步骤S3进一步包括:
S31,将所述SDK的目标界面的方向属性设置为与所述第三方应用当前界面的方向属性一致的方向;
S32,根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数。
其中,所述步骤S32进一步包括:
获取第三方应用所在用户终端的界面窗口属性,所述界面窗口属性包括窗口宽度和窗口高度;
若所述SDK的目标界面的方向属性为竖屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度;或者,
若所述SDK的目标界面的方向属性为横屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度。
其中,所述步骤S2进一步包括:
在所述接口方法中,所述第三方应用当前界面的实例对象通过调用获取界面方向的方法获取所述第三方应用当前界面的方向属性。
其中,所述步骤S4进一步包括:
通过在所述接口方法中调用界面启动方法对设置了显示参数的所述SDK的目标界面进行显示。
根据本发明的另一个方面,提供一种SDK界面自动适配软件横竖屏的装置,包括:
接口模块,用于当第三方应用打开软件开发工具包(SDK)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;
方向获取模块,用于在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;
设置模块,用于根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;
显示模块,用于显示设置了显示参数的所述SDK的目标界面。
其中,所述设置模块进一步包括:
方向属性设置模块,用于将所述SDK的目标界面的方向属性设置为与所述第三方应用当前界面的方向属性一致的方向;
显示参数设置模块,用于根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数。
其中,所述显示参数设置模块具体用于:
获取第三方应用所在用户终端的界面窗口属性,包括窗口宽度和窗口高度;
若所述SDK的目标界面的方向属性为竖屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度;或者,
若所述SDK的目标界面的方向属性为横屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度。
根据本发明的另一个方面,提供一种SDK界面自动适配软件横竖屏的设备,包括:存储器、处理器、以及总线,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述存储器中的程序指令,以执行如前所述的方法。
根据本发明的又一个方面,提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如前所述的方法。
本发明提出的一种SDK界面自动适配软件横竖屏的方法及装置,通过在SDK界面内部获取第三方应用的方向属性,从而相应地调整SDK界面的显示,不会多次调用SDK提供的接口,避免了界面方向参数的传递,从而可减少第三方应用接入的成本和难度,可避免因第三方应用传错界面方向参数导致SDK界面显示与第三方应用界面显示的方向不一致的情形出现,有效地提升了用户体验。
附图说明
图1为本发明一实施例提供的一种SDK界面自动适配软件横竖屏的方法的流程示意图;
图2为本发明另一实施例提供的一种SDK界面自动适配软件横竖屏的装置的结构示意图;
图3为本发明另一实施例提供的一种SDK界面自动适配软件横竖屏的设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。
如图1所示,为本发明一实施例提供的一种SDK界面自动适配软件横竖屏的方法的流程示意图,包括:
S1,当第三方应用打开软件开发工具包(SDK)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;
S2,在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;
S3,根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;
S4,显示设置了显示参数的所述SDK的目标界面。
具体地,第三方应用打开软件开发工具包(SDK)的某个界面时(即目标界面),会调用软件开发工具包提供给所述第三方应用的打开该界面的接口方法,并将第三方应用当前界面的实例对象作为参数传递给该接口方法,第三方应用并不需要明确说明自身界面的方向或指定要打开的SDK界面应该为横屏或竖屏。在安卓系统中,界面通常是activity(界面类),例如,第三方应用的商品界面ShopActivity需要打开SDK的支付界面PayActivity时,会调用SDK提供的打开支付界面的接口方法pay(),并将ShopActivity实例对象作为参数传递给pay()方法。S2中,为了能够使目标界面的显示方向与第三方应用当前界面的方向保持一致,需要获取第三方应用当前界面的方向属性信息,由于所述接口方法获得了第三方应用当前界面的实例对象,因此,可以在所述接口方法中根据所述第三方应用当前界面的实例对象,通过调用用于获取所述第三方应用当前界面的方向属性的方法来获取第三方应用当前界面的方向属性。本步骤实现了在SDK内部获取第三方面应用当前界面的方向属性信息,减少了界面方向参数的传递,内部获取保证了获取到的界面方向的正确性,对第三方软件来说,无需关注细节,只需传递当前界面的实例对象。S3,为了能使SDK的目标界面方向与第三方软件当前界面的方向保持一致进行显示,需要根据第三方软件当前界面的方向属性相应地设置SDK的目标界面的显示参数,所述显示参数包括目标界面的宽度和高度。S4,将设置好显示参数的所述目标界面显示出来。
本发明实施例提出的一种SDK界面自动适配软件横竖屏的方法,通过在SDK界面内部获取第三方应用的方向属性,从而相应地调整SDK界面的显示,不会多次调用SDK提供的接口,避免了界面方向参数的传递,从而可减少第三方应用接入的成本和难度,可避免因第三方应用传错界面方向参数导致SDK界面显示与第三方应用界面显示的方向不一致的情形出现,有效地提升了用户体验。
基于上述实施例,所述步骤S3进一步包括:
S31,将所述SDK的目标界面的方向属性设置为与所述第三方应用当前界面的方向属性一致的方向;
S32,根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数。
具体地,S31,当获取到所述第三方应用当前界面的方向属性时,对照一致地设置所述SDK的目标界面的方向属性,例如,在安卓系统中,通过调用Activity.setRequestedOrientation(方向)设置SDK的目标界面的界面方向属性,若在接口方法pay()中获取的orientation为ORIENTATION_PORTRAIT竖屏,则通过调用PayActivity.setRequestedOrientation(ORIENTATION_PORTRAIT)方法设置软件开发工具包(SDK)的支付界面PayActivity为竖屏显示。
S32,根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数,所述显示参数包括界面的宽度和高度。在目前现有的技术方案中,横竖屏适配时需要分别实现横屏和竖屏的界面代码,因为竖屏展示的界面高比宽要长,若不适配则横屏时界面会被拉伸展示,导致显示效果差。在获知了目标界面的方向属性之后,对应的设置目标界面的显示参数以对横竖屏界面进行适配,可使SDK的目标界面获得较好的显示效果。
本发明实施例实现了SDK界面自动根据第三方应用界面的方向进行显示,第三方应用无需设置也不用担心显示方向错误,只需要调用SDK功能方法即可。由于根据第三方应用的方向固定了SDK界面的方向属性,SDK界面不会随着手机横拿或竖拿(重力感应)而改变显示方向,解决了已有方案横竖屏切换导致界面改变方向,使得SDK中的界面与第三方软件保持一致。
本发明另一实施例,在上述实施例的基础上,所述步骤S32进一步包括:
获取第三方应用所在用户终端的界面窗口属性,所述界面窗口属性包括窗口宽度和窗口高度;
若所述SDK的目标界面的方向属性为竖屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度;或者,
若所述SDK的目标界面的方向属性为横屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度。
目前已有的方案中对横竖屏进行适配时需要分别实现横屏和竖屏的界面代码,这增加了SDK的开发工作量和界面复杂度。为了解决该问题,本发明实施例提供根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数的具体步骤:
首先,获取第三方应用所在用户终端的界面窗口属性,所述界面窗口属性包括窗口宽度和窗口高度,用户终端指运行所述第三方应用的终端设备,例如手机、ipad等终端设备,以手机为例,所述窗口宽度即指手机竖屏的宽度,所述窗口高度即指手机竖屏的高度,即全屏显示。
当所述SDK的目标界面的方向属性为竖屏时,将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度。
当所述SDK的目标界面的方向属性为横屏时,将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度,界面内容可上下滑动,即看上去横屏时SDK的目标界面“类似半屏”显示在第三方应用的当前界面上,SDK的横屏界面显示效果和竖屏时的界面效果一样。
在安卓系统中,通过Activity.getWindow().getAttributes()获取第三方应用所在用户终端的界面窗口属性,调用Attributes.width设置所述SDK目标界面的宽度,调用Attributes.height设置所述SDK目标界面的高度。例如,横屏时设置支付界面PayActivity的Attributes.width为用户终端的屏幕宽度getWindow().getWidth(),Attributes.height高度为用户终端的屏幕宽度getWindow().getWidth()。
本发明实施例提供的一种SDK界面自动适配软件横竖屏的方法,通过设置SDK中的界面宽高属性实现了竖屏时全屏显示,横屏时界面宽度保持竖屏界面的宽度,高度也为竖屏界面的宽度,通过上下滑动显示竖屏界面下面的内容。这种方式很好的解决了横屏界面不单独适配会出现界面拉伸丑陋的问题,适配就需要额外布局界面增加代码工作量的问题,同时横屏时“类似半屏”的显示效果很好,一个界面即很好的适配了横竖屏效果。
基于上述实施例,所述步骤S2进一步包括:
在所述接口方法中,所述第三方应用当前界面的实例对象通过调用获取界面方向的方法获取所述第三方应用当前界面的方向属性。
具体地,步骤S2为获取第三方应用的当前界面的方向属性。SDK目标界面的接口方法根据传来的第三方应用当前界面实例对象获取第三方应用当前界面的方向属性信息,在安卓系统中,通过调用activity.getResources().getConfiguration().orientation方法获取第三方应用当前界面的方向属性,若获取到的方向属性orientation的值为ORIENTATION_PORTRAIT则为竖屏界面(竖屏高度大于宽度),若orientation为ORIENTATION_LANDSCAPE则为横屏界面(横屏宽度大于高度)。
基于上述实施例,所述步骤S4进一步包括:
通过在所述接口方法中调用界面启动方法对设置了显示参数的所述SDK的目标界面进行显示。
具体的,将设置好显示参数的所述目标界面显示出来,是通过在所述接口方法中调用界面启动方法实现的。在安卓系统中,界面启动方法为Activity.startActivity(),例如在支付界面的接口方法pay()中调用Activity.startActivity(PayActivity)以打开支付界面并显示。
值得说明的是,上述各实施例中均以安卓系统为例介绍了具体的实现方法,并不表示本发明只适用于安卓系统。
如图2所示,为本发明另一实施例提供的一种SDK界面自动适配软件横竖屏的装置的结构示意图,包括:接口模块21、方向获取模块22、设置模块23和显示模块24,其中,
接口模块21,用于当第三方应用打开软件开发工具包(SDK)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;
方向获取模块22,用于在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;
设置模块23,用于根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;
显示模块24,用于显示设置了显示参数的所述SDK的目标界面。
具体地,接口模块用于在第三方应用打开SDK(软件开发工具包)的某个界面时(即目标界面),调用软件开发工具包提供给所述第三方应用的打开该界面的接口方法,并将第三方应用当前界面的实例对象作为参数传递给该接口方法,第三方应用并不需要明确说明自身界面的方向或指定要打开的SDK界面应该为横屏或竖屏。在安卓系统中,界面通常是activity(界面类),例如,第三方应用的商品界面ShopActivity需要打开SDK的支付界面PayActivity时,会调用SDK提供的打开支付界面的接口方法pay(),并将ShopActivity实例对象作为参数传递给pay()方法。为了能够使目标界面的显示方向与第三方应用当前界面的方向保持一致,需要获取第三方应用当前界面的方向属性信息,由于所述接口方法获得了第三方应用当前界面的实例对象,因此,方向获取模块22在所述接口方法中根据所述第三方应用当前界面的实例对象,通过调用用于获取所述第三方应用当前界面的方向属性的方法来获取第三方应用当前界面的方向属性。本步骤实现了在SDK内部获取第三方面应用当前界面的方向属性信息,减少了界面方向参数的传递,内部获取保证了获取到的界面方向的正确性,对第三方软件来说,无需关注细节,只需传递当前界面的实例对象。为了能使SDK的目标界面方向与第三方软件当前界面的方向保持一致进行显示,设置模块23根据第三方软件当前界面的方向属性相应地设置SDK的目标界面的显示参数,所述显示参数包括目标界面的宽度和高度。显示模块24用于将设置好显示参数的所述目标界面显示出来。
本发明实施例提出的一种SDK界面自动适配软件横竖屏的装置,通过在SDK界面内部获取第三方应用的方向属性,从而相应地调整SDK界面的显示,不会多次调用SDK提供的接口,避免了界面方向参数的传递,从而可减少第三方应用接入的成本和难度,可避免因第三方应用传错界面方向参数导致SDK界面显示与第三方应用界面显示的方向不一致的情形出现,有效地提升了用户体验。
基于上述实施例,所述设置模块进一步包括:
方向属性设置模块,用于将所述SDK的目标界面的方向属性设置为与所述第三方应用当前界面的方向属性一致的方向;
显示参数设置模块,用于根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数。
具体地,方向属性设置模块用于当获取到所述第三方应用当前界面的方向属性时,对照一致地设置所述SDK的目标界面的方向属性,例如,在安卓系统中,通过调用Activity.setRequestedOrientation(方向)设置SDK的目标界面的界面方向属性,若在接口方法pay()中获取的orientation为ORIENTATION_PORTRAIT竖屏,则通过调用PayActivity.setRequestedOrientation(ORIENTATION_PORTRAIT)方法设置SDK的支付界面PayActivity为竖屏显示。
显示参数设置模块用于根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数,所述显示参数包括界面的宽度和高度。在目前现有的技术方案中,横竖屏适配时需要分别实现横屏和竖屏的界面代码,因为竖屏展示的界面高比宽要长,若不适配则横屏时界面会被拉伸展示,导致显示效果差。在获知了目标界面的方向属性之后,对应的设置目标界面的显示参数以对横竖屏界面进行适配,可使SDK的目标界面获得较好的显示效果。
本发明实施例提供的一种SDK界面自动适配软件横竖屏的装置,实现了软SDK界面自动根据第三方应用界面的方向进行显示,第三方应用无需设置也不用担心显示方向错误,只需要调用SDK功能方法即可。由于根据第三方应用的方向固定了SDK界面的方向属性,SDK界面不会随着手机横拿或竖拿(重力感应)而改变显示方向,解决了已有方案横竖屏切换导致界面改变方向,使得SDK中的界面与第三方软件保持一致。
基于上述实施例,所述显示参数设置模块具体用于:
获取第三方应用所在用户终端的界面窗口属性,包括窗口宽度和窗口高度;
若所述SDK的目标界面的方向属性为竖屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度;或者,
若所述SDK的目标界面的方向属性为横屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度。
首先,显示参数设置模块获取第三方应用所在用户终端的界面窗口属性,所述界面窗口属性包括窗口宽度和窗口高度,用户终端指运行所述第三方应用的终端设备,例如手机、ipad等终端设备,以手机为例,所述窗口宽度即指手机竖屏的宽度,所述窗口高度即指手机竖屏的高度,即全屏显示。
当所述SDK的目标界面的方向属性为竖屏时,显示参数设置模块将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度。
当所述SDK的目标界面的方向属性为横屏时,显示参数设置模块将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度,界面内容可上下滑动,即看上去横屏时SDK的目标界面“类似半屏”显示在第三方应用的当前界面上,SDK的横屏界面显示效果和竖屏时的界面效果一样。
在安卓系统中,通过Activity.getWindow().getAttributes()获取第三方应用所在用户终端的界面窗口属性,调用Attributes.width设置所述SDK目标界面的宽度,调用Attributes.height设置所述SDK目标界面的高度。例如,横屏时设置支付界面PayActivity的Attributes.width为用户终端的屏幕宽度getWindow().getWidth(),Attributes.height高度为用户终端的屏幕宽度getWindow().getWidth()。
本发明实施例通过设置软件开发工具包(SDK)中的界面宽高属性实现竖屏时全屏显示,横屏时界面宽度保持竖屏界面的宽度,高度也为竖屏界面的宽度,通过上下滑动显示竖屏界面下面的内容。这种方式很好的解决了横屏界面不单独适配会出现界面拉伸丑陋的问题,适配就需要额外布局界面增加代码工作量的问题,同时横屏时“类似半屏”的显示效果很好,一个界面即很好的适配了横竖屏效果。
如图3所示,为本发明另一实施例提供的一种SDK界面自动适配软件横竖屏的设备的结构示意图,包括:存储器31、处理器32、以及总线33,
所述处理器32和存储器31通过所述总线完成相互间的通信;
所述存储器31存储有可被所述处理器32执行的程序指令,所述处理器32调用所述存储器31中的程序指令,以执行如上述各实施例所述的方法,包括:S1,当第三方应用打开SDK(软件开发工具包)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;S2,在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;S3,根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;S4,显示设置了显示参数的所述SDK的目标界面。
根据本发明的又一个方面,提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述各方法实施例所述的方法,例如包括:S1,当第三方应用打开SDK(软件开发工具包)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;S2,在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;S3,根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;S4,显示设置了显示参数的所述SDK的目标界面。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的一种SDK界面自动适配软件横竖屏的设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种SDK界面自动适配软件横竖屏的方法,其特征在于,包括:
S1,当第三方应用打开软件开发工具包(SDK)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;
S2,在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;
S3,根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;
S4,显示设置了显示参数的所述SDK的目标界面;
其中,所述步骤S2进一步包括:
在所述接口方法中,所述第三方应用当前界面的实例对象通过调用获取界面方向的方法获取所述第三方应用当前界面的方向属性;
其中,所述步骤S4进一步包括:
通过在所述接口方法中调用界面启动方法对设置了显示参数的所述SDK的目标界面进行显示。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3进一步包括:
S31,将所述SDK的目标界面的方向属性设置为与所述第三方应用当前界面的方向属性一致的方向;
S32,根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数。
3.根据权利要求2所述的方法,其特征在于,所述步骤S32进一步包括:
获取第三方应用所在用户终端的界面窗口属性,所述界面窗口属性包括窗口宽度和窗口高度;
若所述SDK的目标界面的方向属性为竖屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度;或者,
若所述SDK的目标界面的方向属性为横屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度。
4.一种SDK界面自动适配软件横竖屏的装置,其特征在于,包括:
接口模块,用于当第三方应用打开软件开发工具包(SDK)的目标界面时,调用SDK提供给所述第三方应用的打开所述目标界面的接口方法,并将所述第三方应用当前界面的实例对象作为参数传递给所述接口方法;
方向获取模块,用于在所述接口方法中根据所述第三方应用当前界面的实例对象获取所述第三方应用当前界面的方向属性;
设置模块,用于根据所述第三方应用当前界面的方向属性,对所述SDK的目标界面的显示参数进行设置;
显示模块,用于显示设置了显示参数的所述SDK的目标界面;
其中,所述方向获取模块还用于:
在所述接口方法中,通过调用获取界面方向的方法获取所述第三方应用当前界面的方向属性;
其中,所述显示模块还用于:
通过在所述接口方法中调用界面启动方法对设置了显示参数的所述SDK的目标界面进行显示。
5.根据权利要求4所述的装置,其特征在于,所述设置模块进一步包括:
方向属性设置模块,用于将所述SDK的目标界面的方向属性设置为与所述第三方应用当前界面的方向属性一致的方向;
显示参数设置模块,用于根据所述SDK的目标界面的方向属性设置所述SDK的目标界面的显示参数。
6.根据权利要求4所述的装置,其特征在于,所述显示参数设置模块具体用于:
获取第三方应用所在用户终端的界面窗口属性,包括窗口宽度和窗口高度;
若所述SDK的目标界面的方向属性为竖屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口高度;或者,
若所述SDK的目标界面的方向属性为横屏,则将所述SDK的目标界面的宽度设为所述窗口宽度,将所述SDK的目标界面的高度设为所述窗口宽度。
7.一种SDK界面自动适配软件横竖屏的设备,其特征在于,包括:存储器、处理器、以及总线,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述存储器中的程序指令,以执行如权利要求1至3任一所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至3任一所述的方法。
CN201710930307.5A 2017-10-09 2017-10-09 一种sdk界面自动适配软件横竖屏的方法及装置 Active CN109634695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710930307.5A CN109634695B (zh) 2017-10-09 2017-10-09 一种sdk界面自动适配软件横竖屏的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710930307.5A CN109634695B (zh) 2017-10-09 2017-10-09 一种sdk界面自动适配软件横竖屏的方法及装置

Publications (2)

Publication Number Publication Date
CN109634695A CN109634695A (zh) 2019-04-16
CN109634695B true CN109634695B (zh) 2022-02-08

Family

ID=66051227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710930307.5A Active CN109634695B (zh) 2017-10-09 2017-10-09 一种sdk界面自动适配软件横竖屏的方法及装置

Country Status (1)

Country Link
CN (1) CN109634695B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694530B (zh) * 2020-06-09 2023-05-23 阿波罗智联(北京)科技有限公司 一种屏幕适配的方法、装置、电子设备及存储介质
CN113448581A (zh) * 2021-07-21 2021-09-28 上海益世界信息技术集团有限公司广州分公司 一种软件开发工具包界面适配方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369210A (zh) * 2008-08-22 2009-02-18 深圳华为通信技术有限公司 一种调整用户界面元素的方法及装置
CN104461244A (zh) * 2014-12-12 2015-03-25 深圳市财富之舟科技有限公司 一种智能手机的界面切换方法
CN106610771A (zh) * 2016-12-12 2017-05-03 广州神马移动信息科技有限公司 一种语音识别界面的生成和自适应旋转的方法和装置
CN106779810A (zh) * 2016-11-25 2017-05-31 北京金山安全软件有限公司 广告展现方法、装置和终端设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294710A1 (en) * 2006-06-19 2007-12-20 Alps Automotive Inc. Simple bluetooth software development kit
US20170017464A1 (en) * 2006-11-03 2017-01-19 Philippe Roy Layered contextual configuration management system and method and minimized input speech recognition user interface interactions experience
CN101539854B (zh) * 2008-01-24 2012-10-31 西安电子科技大学 一种异构软件界面集成的实现方法
CN102447684B (zh) * 2010-10-14 2014-10-29 工业和信息化部软件与集成电路促进中心 数据处理方法及其设备
CN102109959A (zh) * 2011-03-07 2011-06-29 惠州Tcl移动通信有限公司 屏幕旋转时java应用程序界面跟随旋转的方法
CN102890632A (zh) * 2012-09-18 2013-01-23 深圳市融创天下科技股份有限公司 一种屏幕自适应方法、系统和终端设备
CN102903011A (zh) * 2012-09-25 2013-01-30 浙江图讯科技有限公司 一种用于面向工矿企业的安全生产云服务平台的海量数据处理系统
CN103019769B (zh) * 2012-11-20 2015-09-30 广东欧珀移动通信有限公司 一种软件启动界面控制方法及移动终端
US20140228074A1 (en) * 2013-02-12 2014-08-14 Sonim Technologies, Inc. Embedded Accessory for Mobile Devices
CN103207969B (zh) * 2013-04-12 2016-10-05 百度在线网络技术(北京)有限公司 检测Android恶意软件的装置以及方法
CN103440080A (zh) * 2013-06-28 2013-12-11 上海斐讯数据通信技术有限公司 一种按键显示方法及移动终端
CN104135504B (zh) * 2014-02-11 2015-12-30 腾讯科技(深圳)有限公司 一种基于应用的服务提供方法、装置及系统
CN103944814B (zh) * 2014-04-29 2017-10-20 天维尔信息科技股份有限公司 一种数据交换方法和系统及一种网关服务器
CN105573626A (zh) * 2014-10-11 2016-05-11 中兴通讯股份有限公司 终端显示界面的显示方法及装置
CN104363264B (zh) * 2014-10-22 2017-10-03 北京棱镜云桥科技有限公司 移动终端软件的多渠道sdk接入系统
CN106155109A (zh) * 2015-04-28 2016-11-23 北京信威通信技术股份有限公司 云台控制装置及方法
CN105022294B (zh) * 2015-06-16 2018-01-12 卡桑德电子科技(扬州)有限公司 具有驾驶状态人机界面的便携式通信设备、系统及工作方法
CN106331590A (zh) * 2015-06-30 2017-01-11 华平智慧信息技术(深圳)有限公司 一种流媒体适配器及适配方法
CN105022634B (zh) * 2015-07-22 2017-12-01 上海斐讯数据通信技术有限公司 一种锁屏属性传递方法及移动终端
CN105263036A (zh) * 2015-10-13 2016-01-20 深圳创维数字技术有限公司 一种控制数字电视接收终端的方法及终端
CN105677371B (zh) * 2016-03-18 2020-05-19 山东华软金盾软件股份有限公司 一种软件界面快速生成方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369210A (zh) * 2008-08-22 2009-02-18 深圳华为通信技术有限公司 一种调整用户界面元素的方法及装置
CN104461244A (zh) * 2014-12-12 2015-03-25 深圳市财富之舟科技有限公司 一种智能手机的界面切换方法
CN106779810A (zh) * 2016-11-25 2017-05-31 北京金山安全软件有限公司 广告展现方法、装置和终端设备
CN106610771A (zh) * 2016-12-12 2017-05-03 广州神马移动信息科技有限公司 一种语音识别界面的生成和自适应旋转的方法和装置

Also Published As

Publication number Publication date
CN109634695A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
US10341569B2 (en) Method and apparatus for varying focal length of camera device, and camera device
KR102454196B1 (ko) 디스플레이 제어 방법 및 이를 제공하는 전자 장치
CN105763723B (zh) 移动终端和系统升级方法
EP3039530B1 (en) Method and system for presenting content
CN109460233B (zh) 页面的原生界面显示更新方法、装置、终端设备及介质
US20150294022A1 (en) Terminal device, system for providing picture and method for transmitting picture
CN104978358B (zh) 桌面展示网页片段的方法及截取网页片段至桌面展示系统
CN102821150B (zh) 基于云服务的应用管理方法及云服务器
US10019220B2 (en) Control method and apparatus thereof
US20160307352A1 (en) Display method and terminal
US20160217143A1 (en) Method and device for displaying browser resources and computer readable storage medium
CN109634695B (zh) 一种sdk界面自动适配软件横竖屏的方法及装置
CN106878361A (zh) 一种终端应用页面的调试方法、装置及客户端
CN112114928A (zh) 显示页面的处理方法和装置
CN106911937B (zh) 一种直播中礼物横幅背景色的配置方法及系统
CN110865784B (zh) 投屏处理方法、装置、设备、存储介质及投屏系统
CN109710364A (zh) 调整布局方式的方法、装置、电子设备及存储介质
CN103677553A (zh) 一种实现动态背景的方法和装置
EP3068097B1 (en) Method and device for filtering information
CN105718228B (zh) 动态内容显示的方法和装置
US20150215457A1 (en) Guide service method and device applied to same
CN110263301A (zh) 用于确定文字的颜色的方法和装置
CN108228139B (zh) 基于html5浏览器框架的单片机开发系统及装置
EP3425533A1 (en) Displaying page
CN106020846A (zh) 桌面工具显示方法及装置

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
GR01 Patent grant
GR01 Patent grant