CN109284165B - Client skin changing method, device, equipment and computer readable storage medium - Google Patents
Client skin changing method, device, equipment and computer readable storage medium Download PDFInfo
- Publication number
- CN109284165B CN109284165B CN201811279364.2A CN201811279364A CN109284165B CN 109284165 B CN109284165 B CN 109284165B CN 201811279364 A CN201811279364 A CN 201811279364A CN 109284165 B CN109284165 B CN 109284165B
- Authority
- CN
- China
- Prior art keywords
- target
- base class
- skinning
- skinitembase
- control
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种客户端换肤方法、装置、设备及计算机可读存储介质。该方法包括:调用SkinManager对象的switchSkin接口,查询SkinManager对象的目标数组列表获取至少一个目标换肤控件;基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,其中,所述目标换肤控件为目标换肤子类实例化的对象,所述目标换肤子类继承SkinItemBase基类;调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤。本发明实施例的技术方案在客户端换肤时,减小编程人员工作量,增大代码复用性,减小后期维护成本。
The invention discloses a client-side skinning method, device, device and computer-readable storage medium. The method includes: calling the switchSkin interface of the SkinManager object, querying the target array list of the SkinManager object to obtain at least one target skinning control; calling the SkinItemBase base class corresponding to the at least one target skinning control based on the at least one target skinning control , wherein, the target skinning control is an object instantiated by the target skinning subclass, and the target skinning subclass inherits the SkinItemBase base class; the setItemColor interface is called, and at least one of the skin properties stored in the SkinItemBase base class is set according to the The skin of the target skinnable control. The technical solutions of the embodiments of the present invention reduce the workload of programmers, increase code reusability, and reduce maintenance costs in the later period when the client is skinned.
Description
技术领域technical field
本发明实施例涉及计算机应用技术领域,尤其涉及一种客户端换肤方法、装置、设备及计算机可读存储介质。Embodiments of the present invention relate to the technical field of computer applications, and in particular, to a client-side skinning method, apparatus, device, and computer-readable storage medium.
背景技术Background technique
客户端通常会包含多个控件,比如控件可以是客户端整体的外观界面和一些按钮、头像等。为了满足用户的个性化需求,客户端一般设置有换肤功能。换肤一般是指对客户端程序界面外观进行的改变,达到不同的视觉效果,增加客户端程序的美观效果的操作。用户可以根据自身喜好对控件皮肤进行设置,比如更换某一个或者几个控件的背景颜色或者通过设置进入夜间模式、护眼模式等来实现换肤。The client usually contains multiple controls. For example, the controls can be the overall appearance interface of the client and some buttons, avatars, etc. In order to meet the personalized needs of users, the client is generally provided with a skinning function. Skinning generally refers to the operation of changing the appearance of the client program interface to achieve different visual effects and increase the aesthetic effect of the client program. Users can set the control skin according to their own preferences, such as changing the background color of one or several controls, or changing the skin by setting to enter night mode, eye protection mode, etc.
现有技术中如果要更换控件的皮肤往往需要对每个需要换肤控件进行单独编码。如果存在多个控件都需要换肤时,则需要针对每个控件进行单独编码以实现该控件的换肤,编程人员工作量较大,代码复用性低,而且由于需要对每个控件的换肤代码进行单独维护,即使出现共性问题也需要逐个解决,因此后期维护成本较大,不便统一管理。In the prior art, if the skin of a control needs to be replaced, it is often necessary to individually code each control that needs to be skinned. If there are multiple controls that need to be re-skinned, each control needs to be coded separately to realize the re-skinning of the control. The workload of programmers is large, the code reusability is low, and since each control needs to be re-skinned The skin code is maintained separately. Even if there are common problems, it needs to be solved one by one. Therefore, the later maintenance costs are large and it is inconvenient for unified management.
发明内容SUMMARY OF THE INVENTION
本发明实施例提供了一种客户端换肤方法、装置、设备及计算机可读存储介质,以实现客户端的快速换肤,减少编程人员的工作量,减小客户端的客户维护成本以及增加代码的复用性。Embodiments of the present invention provide a client-side skinning method, apparatus, device, and computer-readable storage medium, so as to realize rapid client-side skinning, reduce the workload of programmers, reduce client-side maintenance costs, and increase code complexity. reusability.
第一方面,本发明实施例提供了一种客户端换肤方法,该方法包括:In a first aspect, an embodiment of the present invention provides a client-side skinning method, which includes:
调用SkinManager对象的switchSkin接口,查询SkinManager对象的目标数组列表获取至少一个目标换肤控件;Call the switchSkin interface of the SkinManager object, and query the target array list of the SkinManager object to obtain at least one target skinning control;
基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,其中,所述目标换肤控件为目标换肤子类实例化的对象,所述目标换肤子类继承SkinItemBase基类;Call the SkinItemBase base class corresponding to the at least one target skinning control based on the at least one target skinning control, wherein the target skinning control is an object instantiated by a target skinning subclass, and the target skinning subclass The class inherits the SkinItemBase base class;
调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤。Call the setItemColor interface, and set the skin of at least one target skinning control according to the skin attribute saved by the SkinItemBase base class.
第二方面,本发明实施例还提供了一种客户端换肤装置,该装置包括:In a second aspect, an embodiment of the present invention further provides a client-side skinning device, the device comprising:
目标换肤控件查询模块,用于调用SkinManager对象的switchSkin接口,查询SkinManager对象的目标数组列表获取至少一个目标换肤控件;The target skinning control query module is used to call the switchSkin interface of the SkinManager object, and query the target array list of the SkinManager object to obtain at least one target skinning control;
基类调用模块,用于基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,其中,所述目标换肤控件为目标换肤子类实例化的对象,所述目标换肤子类继承SkinItemBase基类;A base class calling module for calling the SkinItemBase base class corresponding to the at least one target skinning control based on the at least one target skinning control, wherein the target skinning control is an object instantiated by a target skinning subclass , the target skinning subclass inherits the SkinItemBase base class;
皮肤设置模块,用于调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤。The skin setting module is used to call the setItemColor interface, and set the skin of at least one of the target skinning controls according to the skin attribute saved by the SkinItemBase base class.
第三方面,本发明实施例还提供了一种终端,该终端包括:In a third aspect, an embodiment of the present invention further provides a terminal, where the terminal includes:
一个或多个处理器;one or more processors;
存储器,用于存储一个或多个程序,memory for storing one or more programs,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中任一所述的客户端换肤方法。When the one or more programs are executed by the one or more processors, the one or more processors implement the client-side skinning method described in any one of the embodiments of the present invention.
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中任一所述的客户端换肤方法。In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, implements any of the client-side skinning methods described in the embodiments of the present invention.
本发明实施例的技术方案通过调用SkinManager对象的switchSkin接口来查询SkinManager对象的目标数组列表,从而获取至少一个目标换肤控件,不需要对每个控件界面进行编码,采用全局统一管理皮肤切换接口SkinManager对象的switchSkin接口,减少大量重复工作量造成的错误。进而,基于目标换肤控件调用与目标换肤控件对应的SkinItemBase基类,由于目标换肤子类继承SkinItemBase基类,通过SkinItemBase换肤的基类能够管理所有目标换肤子类对应的皮肤颜色;进而通过调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤,即SkinManager对象只需要对该基类进行调用操作,就能实现对所有继承至该基类的目标换肤控件进行换肤功能的控制。上述技术方案中,目标换肤控件解决了编程人员工作量巨大,代码复用性低以及后期维护困难等问题,实现在客户端换肤时,减小编程人员工作量,增大代码复用性,方便后期维护的技术效果。The technical solution of the embodiment of the present invention is to query the target array list of the SkinManager object by calling the switchSkin interface of the SkinManager object, thereby obtaining at least one target skinning control, without coding each control interface, and using the global unified management skin switching interface SkinManager The switchSkin interface of the object reduces errors caused by a lot of repetitive work. Furthermore, the SkinItemBase base class corresponding to the target skinning control is called based on the target skinning control. Since the target skinning subclass inherits the SkinItemBase base class, the skin color corresponding to all the target skinning subclasses can be managed through the SkinItemBase skinning base class; Then, by calling the setItemColor interface, at least one skin of the target skinning control is set according to the skin properties saved by the SkinItemBase base class, that is, the SkinManager object only needs to call the base class to realize all inheritance to the base class. The target skinning control controls the skinning function. In the above technical solutions, the target skinning control solves the problems of huge workload of programmers, low code reusability and difficulty in post-maintenance, etc., and reduces the workload of programmers and increases code reusability when skinning on the client side. , to facilitate the technical effect of post-maintenance.
附图说明Description of drawings
图1是本发明实施例一中提供的客户端换肤方法的流程图;1 is a flowchart of a client-side skinning method provided in Embodiment 1 of the present invention;
图2是本发明实施例二中提供的客户端换肤方法的流程图;2 is a flowchart of a client-side skinning method provided in Embodiment 2 of the present invention;
图3是本发明实施例三中提供的客户端换肤装置的结构示意图;3 is a schematic structural diagram of a client-side skinning device provided in Embodiment 3 of the present invention;
图4是本发明实施例四中提供的一种终端的结构示意图。FIG. 4 is a schematic structural diagram of a terminal provided in Embodiment 4 of the present invention.
具体实施方式Detailed ways
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention. In addition, it should be noted that, for the convenience of description, the drawings only show some but not all structures related to the present invention.
实施例一Example 1
图1为本发明实施例一提供的客户端换肤方法的流程图,本实施例可适用于客户端换肤的情况,该方法可以由客户端换肤装置来执行,该装置可以由硬件和/或软件来实现,该装置可集成于终端(例如计算机)中,如图1所示,具体包括如下步骤:FIG. 1 is a flowchart of a client-side skinning method provided in Embodiment 1 of the present invention. This embodiment is applicable to the case of client-side skinning. The method may be performed by a client-side skinning device, and the device may be implemented by hardware and / or software, the device can be integrated in a terminal (such as a computer), as shown in FIG. 1, and specifically includes the following steps:
步骤101、调用SkinManager对象的switchSkin接口,查询SkinManager对象的目标数组列表获取至少一个目标换肤控件。
其中,SkinManager对象是客户端用于换肤的全局管理对象,SkinManager对象的作用是全局统一管理换肤的目标换肤控件。全局对象在程序一开始,其构造函数就先被执行(比程序进入点更早);程序即将结束前其析构函数将被执行。Among them, the SkinManager object is the global management object used by the client for skinning, and the function of the SkinManager object is the target skinning control for the global unified management of skinning. At the beginning of the program, the constructor of the global object is executed first (before the program entry point); its destructor will be executed just before the program ends.
目标数组列表用于存储指向目标换肤控件的this指针。一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。this指针指向的内存地址与其对应的目标换肤控件的内存地址相同,因此通过this指针可获得目标换肤控件。The target array list is used to store the this pointer to the target skinnable control. An object's this pointer is not part of the object itself and does not affect the result of sizeof(object). The scope of this is inside the class. When accessing the non-static members of the class in the non-static member function of the class, the compiler will automatically pass the address of the object itself as an implicit parameter to the function. The memory address pointed to by the this pointer is the same as the memory address of the corresponding target skinnable control, so the target skinnable control can be obtained through the this pointer.
其中,目标换肤控件为需要换肤的控件,可以为客户端界面或按钮等,用户可以自行设置目标换肤控件对其进行换肤。可以理解的是,目标换肤控件的数量可以是一个、两个或多个。Among them, the target skinning control is a control that needs to be skinned, which may be a client interface or a button, etc. The user can set the target skinning control to skin it. It can be understood that the number of target skinning controls may be one, two or more.
SkinManager对象的switchSkin接口会遍历SkinManager对象的目标数组列表当中的目标换肤控件的指针,然后根据SkinItemBase基类保存的皮肤属性进行皮肤设置。The switchSkin interface of the SkinManager object will traverse the pointer of the target skinning control in the target array list of the SkinManager object, and then set the skin according to the skin properties saved by the SkinItemBase base class.
可选地,所述查询SkinManager对象的目标数组列表获取至少一个目标换肤控件,包括:Optionally, the querying the target array list of the SkinManager object obtains at least one target skinning control, including:
遍历SkinManager对象的目标数组列表中所存储的与至少一个所述目标换肤控件对应的目标换肤控件指针,基于所述目标换肤控件指针查找并获取至少一个目标换肤控件。Traversing the target skinning control pointers stored in the target array list of the SkinManager object and corresponding to at least one of the target skinning controls, and searching for and acquiring at least one target skinning control based on the target skinning control pointers.
其中,可以通过目标换肤控件的this指针获取到目标换肤控件。Among them, the target skinning control can be obtained through the this pointer of the target skinning control.
当实例化目标换肤控件时,SkinManager对象的目标数组列表会记录目标换肤控件的this指针,用于指向目标换肤控件,并将其存储到SkinManager对象的目标数组列表中。数组列表即ArrayList,ArrayList是一种动态数组,是Array的复杂版本,ArrayList提供了如下一些好处:动态的增加和减少元素实现了ICollection和IList接口和灵活的设置数组的大小。采用ArrayList存储目标换肤控件的指针,正是由于其可以动态的增加或减少元素,并能设置数组的大小。When instantiating the target skinning control, the target array list of the SkinManager object records the this pointer of the target skinning control, which is used to point to the target skinning control, and stores it in the target array list of the SkinManager object. Array list is ArrayList. ArrayList is a dynamic array, which is a complex version of Array. ArrayList provides the following benefits: dynamically increase and decrease elements, implement ICollection and IList interfaces, and flexibly set the size of the array. ArrayList is used to store the pointer of the target skinning control because it can dynamically increase or decrease elements and set the size of the array.
步骤102、基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,其中,所述目标换肤控件为目标换肤子类实例化的对象,所述目标换肤子类继承SkinItemBase基类。
其中,目标换肤子类继承自SkinItemBase基类,SkinItemBase基类包括id属性、皮肤颜色属性、皮肤透明度属性、皮肤背景属性、构造函数以及析构函数等。皮肤颜色属性还可以进一步分为默认颜色属性、夜间模式颜色等,可以根据需求进一步扩展。例如:SkinItemBase基类可示例如下:Among them, the target skinning subclass inherits from the SkinItemBase base class, and the SkinItemBase base class includes the id attribute, the skin color attribute, the skin transparency attribute, the skin background attribute, the constructor and the destructor, etc. The skin color attributes can be further divided into default color attributes, night mode colors, etc., which can be further expanded according to needs. For example, the SkinItemBase base class can be exemplified as follows:
SkinItemBase基类可以采用QML进行声明。QML是一种声明性语言,允许根据用户界面的可视组件以及它们如何相互交互和相互关联来描述用户界面。QML是一种高度可读的语言,旨在使组件能够以动态方式互连,并且允许组件在用户界面中轻松重复使用和自定义。使用Qt Quick,开发人员可以在QML中构建流体动画用户界面,并且可以选择将这些用户界面连接到任何后端C++库。The SkinItemBase base class can be declared using QML. QML is a declarative language that allows user interfaces to be described in terms of their visual components and how they interact and relate to each other. QML is a highly readable language designed to enable components to be interconnected in a dynamic manner, and to allow components to be easily reused and customized in user interfaces. Using Qt Quick, developers can build fluid animation UIs in QML and can optionally connect these UIs to any backend C++ library.
构造函数在实例化对象时执行,析构函数在对象销毁时执行。皮肤颜色属性以及皮肤背景属性可以进一步设置夜间颜色、默认颜色等模式方便用户的使用。为了用户操作的简便性,可以设置一些默认的模式,在默认模式下预设一些目标换肤控件、皮肤属性。例如夜间模式、护眼模式等。在夜间模式下,可以将客户端外观设为黑色,客户端文字也可设置为白色等相关的操作。在客户端可在换肤操作的子菜单下选择夜间模式,用户通过选择夜间模式,改变客户端相关控件的皮肤属性,客户端接收到用户的请求,并把相关的目标换肤控件、相关的皮肤属性传入到客户端程序中,程序根据传入的目标换肤控件以及皮肤属性等进行客户端皮肤的切换。用户也可以通过选择默认模式,恢复客户端皮肤的原始状态。客户端可设置多种默认模式。客户端也可设置皮肤颜色选项、皮肤背景颜色选项、皮肤背景颜色等选项,客户端接收到用户的选择,更改客户端皮肤的属性。Constructors are executed when an object is instantiated, and destructors are executed when an object is destroyed. The skin color attribute and skin background attribute can further set the night color, default color and other modes for the convenience of users. For the convenience of user operation, some default modes can be set, and some target skinning controls and skin properties are preset in the default mode. Such as night mode, eye protection mode, etc. In night mode, the client's appearance can be set to black, and the client's text can also be set to white and other related operations. The client can select the night mode under the submenu of skinning operation. The user can change the skin properties of the relevant controls on the client by selecting the night mode. The client receives the user's request and replaces the relevant target skinning controls, related The skin attribute is passed into the client program, and the program switches the client skin according to the incoming target skinning controls and skin attributes. The user can also restore the original state of the client skin by selecting the default mode. The client can set various default modes. The client can also set options such as skin color options, skin background color options, and skin background colors. The client receives the user's selection and changes the properties of the client's skin.
SkinItemBase基类可以有多个目标换肤子类。继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一。继承是指一个对象直接使用另一对象的属性和方法。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。C++中的继承关系就好比现实生活中的父子关系,原始类称为基类,继承类称为派生类,它们是类似于父亲和儿子的关系,所以也分别叫父类和子类。而子类又可以当成父类,被其他类继承。The base SkinItemBase class can have multiple target skinning subclasses. Inheritance is an important means to make code reusable, and it is also one of the core ideas of object-oriented programming. Inheritance is when one object directly uses the properties and methods of another object. Inheritance presents the hierarchical structure of object-oriented programming, and reflects the cognitive process from simple to complex. The inheritance relationship in C++ is like the parent-child relationship in real life. The original class is called the base class, and the inherited class is called the derived class. They are similar to the relationship between father and son, so they are also called parent class and child class respectively. The subclass can be regarded as the parent class and inherited by other classes.
目标换肤子类在继承SkinItemBase基类时,子类通过重写基类的皮肤属性值,可以单独给自己设置不同的皮肤属性,使SkinItemBase基类记录对应目标换肤子类对应的皮肤属性。可以理解的是,目标换肤控件可以是相同的目标换肤子类的实例化对象,也可以是不同的目标换肤子类的实例化对象。例如2个界面想实现相同的效果,可以实现同一个目标换肤子类。当2个界面想实现不同的效果,可以实现不同的目标换肤子类。When the target skinning subclass inherits the SkinItemBase base class, the subclass can set different skin attributes for itself by overriding the skin attribute value of the base class, so that the SkinItemBase base class records the skin attribute corresponding to the target skinning subclass. It can be understood that the target skinning controls may be instantiated objects of the same target skinning subclass, or may be instantiated objects of different target skinning subclasses. For example, if two interfaces want to achieve the same effect, they can achieve the same target skinning subclass. When the two interfaces want to achieve different effects, they can achieve different target skinning subclasses.
基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,表示根据目标换肤控件能够获取到其对应的SkinItemBase基类指针,从而调用基类的接口。Calling the SkinItemBase base class corresponding to the at least one target skinning control based on the at least one target skinning control means that the corresponding SkinItemBase base class pointer can be obtained according to the target skinning control, thereby calling the interface of the base class.
可选地,定义用于实现换肤功能的SkinItemBase基类和SkinManager对象;Optionally, define the SkinItemBase base class and the SkinManager object for implementing the skinning function;
在所述SkinItemBase基类的基类构造函数中,调用所述SkinManager对象的register接口,将所述至少一个目标换肤控件注册到所述SkinManager对象的目标数组列表中。In the base class constructor of the SkinItemBase base class, the register interface of the SkinManager object is called to register the at least one target skinning control in the target array list of the SkinManager object.
其中,注册表示保存目标换肤控件的指针,客户端获取到至少一个目标换肤控件时,通过,调用所述SkinManager对象的register接口把对应的目标换肤控件的指针保存到SkinManager对象的目标数组列表中。register接口传入的是对应的目标换肤控件的指针。Wherein, registering means saving the pointer of the target skinning control, and when the client obtains at least one target skinning control, by calling the register interface of the SkinManager object, the pointer of the corresponding target skinning control is saved to the target array of the SkinManager object List. The register interface passes in the pointer of the corresponding target skinnable control.
步骤103、调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤。
其中,通过步骤101中SkinManager对象的switchSkin接口遍历SkinManager对象的目标数组列表当中的目标换肤控件,然后根据SkinItemBase基类保存的皮肤属性,调用setItemColor接口设置控件对应的皮肤,完成所有目标换肤控件的换肤功能。setItemColor接口传入的是目标换肤控件的指针以及SkinItemBase基类的基类指针。Wherein, traverse the target skinning controls in the target array list of the SkinManager object through the switchSkin interface of the SkinManager object in
由于步骤102中的register接口,将目标换肤控件注册到SkinManager对象的目标数组列表中,而目标换肤控件对应着SkinItemBase基类指针,也就是SkinItemBase基类指针已经被保存到了SkinManager对象中,所以SkinManager对象也可以获取到所有子类目标换肤控件的皮肤,从而通过setItemColor接口将SkinItemBase基类保存的皮肤属性设置到目标换肤控件上。Due to the register interface in
可选地,基于所述目标换肤子类的子类构造函数对所述SkinItemBase基类中的皮肤属性进行赋值。Optionally, assign values to the skin attributes in the SkinItemBase base class based on the subclass constructor of the target skinning subclass.
其中,子类构造函数在目标换肤控件实例化时会执行,在子类构造函数中通过覆写SkinItemBase基类的皮肤属性,对SkinItemBase基类的皮肤属性进行赋值,使SkinItemBase基类记录对应子类的皮肤颜色。Among them, the subclass constructor will be executed when the target skinning control is instantiated. In the subclass constructor, by overwriting the skin properties of the SkinItemBase base class, assign values to the skin properties of the SkinItemBase base class, so that the SkinItemBase base class records the corresponding subclass. class of skin color.
可选地,所述皮肤属性包括皮肤颜色、皮肤背景、以及皮肤透明度中的至少一个。Optionally, the skin attribute includes at least one of skin color, skin background, and skin transparency.
其中,控件可以是目标换肤子类的实例化对象,在实例化控件时,会先调用SkinItemBase基类的构造函数,然后调用目标换肤子类的构造函数。The control can be an instantiated object of the target skinning subclass. When the control is instantiated, the constructor of the SkinItemBase base class will be called first, and then the constructor of the target skinning subclass will be called.
皮肤颜色可以划分为多种颜色属性,例如默认颜色、夜间模式下的颜色、字体颜色等。Skin color can be divided into various color properties, such as default color, color in night mode, font color, etc.
皮肤背景可以是控件的背景图片。The skin background can be the background image of the control.
皮肤透明度也可对应不同的模式或用户的需求进行更改。Skin transparency can also be changed for different modes or user needs.
本发明实施例的技术方案通过调用SkinManager对象的switchSkin接口来查询SkinManager对象的目标数组列表,从而获取至少一个目标换肤控件,不需要对每个控件界面进行编码,采用全局统一管理皮肤切换接口SkinManager对象的switchSkin接口,减少大量重复工作量造成的错误。进而,基于目标换肤控件调用与目标换肤控件对应的SkinItemBase基类,由于目标换肤子类继承SkinItemBase基类,通过SkinItemBase换肤的基类能够管理所有目标换肤子类对应的皮肤颜色;进而通过调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤,即SkinManager对象只需要对该基类进行调用操作,就能实现对所有继承至该基类的目标换肤控件进行换肤功能的控制。上述技术方案中,目标换肤控件解决了编程人员工作量大,代码复用性低以及后期维护困难等问题,实现在客户端换肤时,减小编程人员工作量,增大代码复用性,方便后期维护的技术效果。The technical solution of the embodiment of the present invention is to query the target array list of the SkinManager object by calling the switchSkin interface of the SkinManager object, thereby obtaining at least one target skinning control, without coding each control interface, and using the global unified management skin switching interface SkinManager The switchSkin interface of the object reduces errors caused by a lot of repetitive work. Furthermore, the SkinItemBase base class corresponding to the target skinning control is called based on the target skinning control. Since the target skinning subclass inherits the SkinItemBase base class, the skin color corresponding to all the target skinning subclasses can be managed through the SkinItemBase skinning base class; Then, by calling the setItemColor interface, at least one skin of the target skinning control is set according to the skin properties saved by the SkinItemBase base class, that is, the SkinManager object only needs to call the base class to realize all inheritance to the base class. The target skinning control controls the skinning function. In the above technical solution, the target skinning control solves the problems of heavy workload of programmers, low code reusability, and difficulty in post-maintenance, and realizes that when skinning on the client side, the workload of programmers is reduced and the code reuse is increased. , to facilitate the technical effect of post-maintenance.
实施例二Embodiment 2
图2为本发明实施例二提供的一种客户端换肤方法的流程图,本实施例在上述实施例的基础上,可选是基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,包括:根据所述至少一个目标换肤控件确定与所述至少一个目标换肤控件对应的SkinItemBase基类;将所述目标换肤控件对应的目标换肤控件指针转换成所述SkinItemBase基类的基类指针;基于所述基类指针查找并调用所述SkinItemBase基类。如图2所示,本实施例的方法具体可包括如下步骤:FIG. 2 is a flowchart of a client-side skinning method according to Embodiment 2 of the present invention. On the basis of the above-mentioned embodiments, this embodiment can optionally call a control call based on the at least one target skinning and the at least one The SkinItemBase base class corresponding to the target skinning control includes: determining the SkinItemBase base class corresponding to the at least one target skinning control according to the at least one target skinning control; The pointer is converted into the base class pointer of the SkinItemBase base class; based on the base class pointer, the SkinItemBase base class is searched and called. As shown in FIG. 2 , the method of this embodiment may specifically include the following steps:
步骤201、调用SkinManager对象的switchSkin接口,查询SkinManager对象的目标数组列表获取至少一个目标换肤控件。
步骤202、根据所述至少一个目标换肤控件确定与所述至少一个目标换肤控件对应的SkinItemBase基类。Step 202: Determine a SkinItemBase base class corresponding to the at least one target skinning control according to the at least one target skinning control.
其中,目标换肤子类继承SkinItemBase基类,目标换肤控件通过获取目标换肤控件对应的目标换肤控件指针,可以确定目标换肤控件对应的SkinItemBase基类。The target skinning subclass inherits the SkinItemBase base class, and the target skinning control can determine the SkinItemBase base class corresponding to the target skinning control by obtaining the target skinning control pointer corresponding to the target skinning control.
步骤203、将所述目标换肤控件对应的目标换肤控件指针转换成所述SkinItemBase基类的基类指针。Step 203: Convert the target skinning control pointer corresponding to the target skinning control into the base class pointer of the SkinItemBase base class.
因为目标换肤控件是目标换肤子类的实例化对象,目标换肤子类是继承SkinItemBase基类的,所以目标换肤控件的指针可以转换成SkinItemBase基类的基类指针。Because the target skinning control is the instantiated object of the target skinning subclass, and the target skinning subclass inherits the SkinItemBase base class, the pointer of the target skinning control can be converted into the base class pointer of the SkinItemBase base class.
可选地,将所述目标换肤控件对应的目标换肤控件指针转换成所述SkinItemBase基类的基类指针,具体可包括:Optionally, converting the target skinning control pointer corresponding to the target skinning control into the base class pointer of the SkinItemBase base class, which may specifically include:
调用dynamic_cast操作符将所述目标换肤控件对应的目标换肤控件指针转换成所述SkinItemBase基类的基类指针。The dynamic_cast operator is called to convert the target skinning control pointer corresponding to the target skinning control into the base class pointer of the SkinItemBase base class.
其中,dynamic_cast操作符将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。通过dynamic_cast操作符将目标换肤控件指针转换成所述SkinItemBase基类的基类指针,用于调用SkinItemBase基类的构造方法。Among them, the dynamic_cast operator casts a base class object pointer (or reference) to the inherited class pointer, and dynamic_cast will do the corresponding processing according to whether the base class pointer really points to the inherited class pointer. The target skinning control pointer is converted into the base class pointer of the SkinItemBase base class through the dynamic_cast operator, which is used to call the construction method of the SkinItemBase base class.
在存在多个目标换肤控件时,通过dynamic_cast操作符进行操作时,对应的SkinItemBase基类的指针是不同的。When there are multiple target skinnable controls, when operating through the dynamic_cast operator, the pointers of the corresponding SkinItemBase base classes are different.
目标换肤控件对应的目标换肤子类本身包含SkinItemBase基类所定义的接口,转换时调用dynamic_cast操作符将子类指针转换为SkinItemBase基类指针。The target skinning subclass corresponding to the target skinning control itself contains the interface defined by the SkinItemBase base class. When converting, the dynamic_cast operator is called to convert the subclass pointer to the SkinItemBase base class pointer.
步骤204、基于所述基类指针查找并调用所述SkinItemBase基类。Step 204: Find and call the SkinItemBase base class based on the base class pointer.
其中,调用与所述SkinItemBase基类,表示调用SkinItemBase基类定义的接口,也就是调用SkinItemBase基类的构造方法,实现获取到SkinItemBase基类保存的皮肤属性的目的。Wherein, calling the SkinItemBase base class means calling the interface defined by the SkinItemBase base class, that is, calling the construction method of the SkinItemBase base class, so as to achieve the purpose of obtaining the skin attributes saved by the SkinItemBase base class.
步骤205、调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤。
本发明实施例的技术方案通过根据所述至少一个目标换肤控件确定与所述至少一个目标换肤控件对应的SkinItemBase基类;将所述目标换肤控件对应的目标换肤控件指针转换成所述SkinItemBase基类的基类指针;基于所述基类指针查找并调用所述SkinItemBase基类,这一过程将目标换肤控件指针转换成基类指针,能够实现调用SkinItemBase基类的接口,从而实现对目标换肤控件的换肤。上述技术方案中,目标换肤控件指针转换成基类指针解决了客户端换肤时对基类的调用,实现在客户端换肤时,减小编程人员工作量,增大代码复用性,方便后期维护的技术效果。The technical solution of the embodiment of the present invention is to determine the SkinItemBase base class corresponding to the at least one target skinning control according to the at least one target skinning control; convert the target skinning control pointer corresponding to the target skinning control into the target skinning control pointer Describe the base class pointer of the SkinItemBase base class; find and call the SkinItemBase base class based on the base class pointer, this process converts the target skinning control pointer into the base class pointer, which can realize the interface of calling the SkinItemBase base class, thereby realizing Skinning of the target skinning control. In the above technical solution, the conversion of the target skinning control pointer into the base class pointer solves the invocation of the base class when the client is skinning, reducing the workload of programmers and increasing code reusability when the client is skinning. The technical effect of convenient post-maintenance.
实施例三Embodiment 3
本发明实施例所提供的客户端换肤装置可执行本发明任意实施例所提供的客户端换肤方法,该装置的具体结构如下:目标换肤控件查询模块31、基类调用模块32和皮肤设置模块33。The client-side skinning device provided by the embodiment of the present invention can execute the client-side skinning method provided by any embodiment of the present invention. The specific structure of the device is as follows: a target skinning
其中,目标换肤控件查询模块31,用于调用SkinManager对象的switchSkin接口,查询SkinManager对象的目标数组列表获取至少一个目标换肤控件;Wherein, the target skinning
基类调用模块32,用于基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,其中,所述目标换肤控件为目标换肤子类实例化的对象,所述目标换肤子类继承SkinItemBase基类;The base
皮肤设置模块33,用于调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤。The
本发明实施例的技术方案通过调用SkinManager对象的switchSkin接口来查询SkinManager对象的目标数组列表,从而获取至少一个目标换肤控件,不需要对每个控件界面进行编码,采用全局统一管理皮肤切换接口SkinManager对象的switchSkin接口,减少大量重复工作量造成的错误。进而,基于目标换肤控件调用与目标换肤控件对应的SkinItemBase基类,由于目标换肤子类继承SkinItemBase基类,通过SkinItemBase换肤的基类能够管理所有目标换肤子类对应的皮肤颜色;进而通过调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤,即SkinManager对象只需要对该基类进行调用操作,就能实现对所有继承至该基类的目标换肤控件进行换肤功能的控制。上述技术方案中,目标换肤控件解决了编程人员工作量大,代码复用性低以及后期维护困难等问题,实现在客户端换肤时,减小编程人员工作量,增大代码复用性,方便后期维护的技术效果。The technical solution of the embodiment of the present invention is to query the target array list of the SkinManager object by calling the switchSkin interface of the SkinManager object, thereby obtaining at least one target skinning control, without coding each control interface, and using the global unified management skin switching interface SkinManager The switchSkin interface of the object reduces errors caused by a lot of repetitive work. Furthermore, the SkinItemBase base class corresponding to the target skinning control is called based on the target skinning control. Since the target skinning subclass inherits the SkinItemBase base class, the skin color corresponding to all the target skinning subclasses can be managed through the SkinItemBase skinning base class; Then, by calling the setItemColor interface, at least one skin of the target skinning control is set according to the skin properties saved by the SkinItemBase base class, that is, the SkinManager object only needs to call the base class to realize all inheritance to the base class. The target skinning control controls the skinning function. In the above technical solution, the target skinning control solves the problems of heavy workload of programmers, low code reusability, and difficulty in post-maintenance, and realizes that when skinning on the client side, the workload of programmers is reduced and the code reuse is increased. , to facilitate the technical effect of post-maintenance.
在上述技术方案的基础上,目标换肤控件查询模块31具体可用于:遍历SkinManager对象的目标数组列表中所存储的与至少一个所述目标换肤控件对应的目标换肤控件指针,基于所述目标换肤控件指针查找并获取至少一个目标换肤控件。On the basis of the above technical solution, the target skinning
在上述技术方案的基础上,基类调用模块32具体可用于:On the basis of the above technical solutions, the base
根据所述至少一个目标换肤控件确定与所述至少一个目标换肤控件对应的SkinItemBase基类;Determine the SkinItemBase base class corresponding to the at least one target skinning control according to the at least one target skinning control;
将所述目标换肤控件对应的目标换肤控件指针转换成所述SkinItemBase基类的基类指针;Converting the target skinning control pointer corresponding to the target skinning control into the base class pointer of the SkinItemBase base class;
基于所述基类指针查找并调用所述SkinItemBase基类。Find and call the SkinItemBase base class based on the base class pointer.
在上述技术方案的基础上,基类调用模块32具体可用于:调用dynamic_cast操作符将所述目标换肤控件对应的目标换肤控件指针转换成所述SkinItemBase基类的基类指针。On the basis of the above technical solution, the base
在上述各技术方案的基础上,客户端换肤装置还可以包括:定义模块和注册模块。其中,On the basis of the above technical solutions, the client-side skinning device may further include: a definition module and a registration module. in,
定义模块,用于定义用于实现换肤功能的SkinItemBase基类和SkinManager对象;注册模块,用于Definition module, used to define the SkinItemBase base class and SkinManager object used to implement the skinning function; registration module, used to
在所述SkinItemBase基类的基类构造函数中,调用所述SkinManager对象的register接口,将所述至少一个目标换肤控件注册到所述SkinManager对象的目标数组列表中。In the base class constructor of the SkinItemBase base class, the register interface of the SkinManager object is called to register the at least one target skinning control in the target array list of the SkinManager object.
在上述各技术方案的基础上,客户端换肤装置还可包括:皮肤属性赋值模块。其中,On the basis of the above technical solutions, the client-side skinning device may further include: a skin attribute assignment module. in,
皮肤属性赋值模块,用于基于所述目标换肤子类的子类构造函数对所述SkinItemBase基类中的皮肤属性进行赋值。A skin attribute assignment module, configured to assign values to the skin attributes in the SkinItemBase base class based on the subclass constructor of the target skinning subclass.
示例性地,所述皮肤属性包括皮肤颜色、皮肤背景、以及皮肤透明度中的至少一个。Exemplarily, the skin attribute includes at least one of skin color, skin background, and skin transparency.
实施例四Embodiment 4
图4为本发明实施例四提供的一种终端的结构示意图,如图4所示,该终端包括处理器40、存储器41、输入装置42和输出装置43;终端中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;终端中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。FIG. 4 is a schematic structural diagram of a terminal according to Embodiment 4 of the present invention. As shown in FIG. 4 , the terminal includes a
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的客户端换肤方法对应的程序指令/模块(例如,客户端换肤装置中的目标换肤控件查询模块31、基类调用模块32和皮肤设置模块33)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的客户端换肤方法。As a computer-readable storage medium, the
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The
输入装置42可用于接收用户的换肤操作,以及产生与终端的用户设置以及功能控制有关的输入。输出装置43可包括显示屏等显示设备。The
实施例五Embodiment 5
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种客户端换肤方法,该方法包括:Embodiment 5 of the present invention further provides a storage medium containing computer-executable instructions, where the computer-executable instructions are used to execute a client-side skinning method when executed by a computer processor, and the method includes:
调用SkinManager对象的switchSkin接口,查询SkinManager对象的目标数组列表获取至少一个目标换肤控件;Call the switchSkin interface of the SkinManager object, and query the target array list of the SkinManager object to obtain at least one target skinning control;
基于所述至少一个目标换肤控件调用与所述至少一个目标换肤控件对应的SkinItemBase基类,其中,所述目标换肤控件为目标换肤子类实例化的对象,所述目标换肤子类继承SkinItemBase基类;Call the SkinItemBase base class corresponding to the at least one target skinning control based on the at least one target skinning control, wherein the target skinning control is an object instantiated by a target skinning subclass, and the target skinning subclass The class inherits the SkinItemBase base class;
调用setItemColor接口,根据SkinItemBase基类所保存的皮肤属性设置至少一个所述目标换肤控件的皮肤。Call the setItemColor interface, and set the skin of at least one target skinning control according to the skin attribute saved by the SkinItemBase base class.
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的客户端换肤方法中的相关操作。Of course, a storage medium containing computer-executable instructions provided by an embodiment of the present invention, the computer-executable instructions of which are not limited to the above-mentioned method operations, and can also execute the client-side skinning method provided by any embodiment of the present invention related operations in .
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。From the above description of the embodiments, those skilled in the art can clearly understand that the present invention can be realized by software and necessary general-purpose hardware, and of course can also be realized by hardware, but in many cases the former is a better embodiment . Based on such understanding, the technical solutions of the present invention can be embodied in the form of software products in essence or the parts that make contributions to the prior art, and the computer software products can be stored in a computer-readable storage medium, such as a floppy disk of a computer , read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), flash memory (FLASH), hard disk or CD, etc., including several instructions to make a computer device (which can be a personal computer, A server, or a network device, etc.) executes the methods described in the various embodiments of the present invention.
值得注意的是,上述客户端换肤装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。It is worth noting that, in the above-mentioned embodiment of the client-side skinning device, the units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be realized; , the specific names of the functional units are only for the convenience of distinguishing from each other, and are not used to limit the protection scope of the present invention.
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。Note that the above are only preferred embodiments of the present invention and applied technical principles. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and can also include more other equivalent embodiments without departing from the concept of the present invention. The scope is determined by the scope of the appended claims.
Claims (8)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811279364.2A CN109284165B (en) | 2018-10-30 | 2018-10-30 | Client skin changing method, device, equipment and computer readable storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811279364.2A CN109284165B (en) | 2018-10-30 | 2018-10-30 | Client skin changing method, device, equipment and computer readable storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109284165A CN109284165A (en) | 2019-01-29 |
| CN109284165B true CN109284165B (en) | 2021-11-09 |
Family
ID=65174983
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811279364.2A Active CN109284165B (en) | 2018-10-30 | 2018-10-30 | Client skin changing method, device, equipment and computer readable storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109284165B (en) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110096269A (en) * | 2019-04-18 | 2019-08-06 | 北京奇艺世纪科技有限公司 | A kind of interface rendering method, device and electronic equipment based on skin caching mechanism |
| CN110083357B (en) * | 2019-04-28 | 2023-10-13 | 博众精工科技股份有限公司 | Interface construction method, device, server and storage medium |
| CN112015497B (en) * | 2019-05-13 | 2022-04-29 | 华为技术有限公司 | Skin peeling method and device |
| CN110704035A (en) * | 2019-10-17 | 2020-01-17 | 北京首贝科技发展有限公司 | Plug-in type software architecture system and implementation method thereof |
| CN111737334A (en) * | 2020-06-24 | 2020-10-02 | 深圳前海微众银行股份有限公司 | Data reporting method, device, device and storage medium |
| CN112416343B (en) * | 2020-11-04 | 2025-02-18 | 广州小鹏汽车科技有限公司 | Batch processing method, device, electronic device and storage medium for custom controls |
| CN112269605B (en) * | 2020-11-12 | 2024-07-12 | 南京麒豹信息科技有限公司 | Skin replacement method and device, electronic equipment and storage medium |
| CN112685113A (en) * | 2020-12-28 | 2021-04-20 | 金现代信息产业股份有限公司 | iOS skin changing method and device |
| CN113326089A (en) * | 2021-06-18 | 2021-08-31 | 北京自如信息科技有限公司 | Method and device for replacing application software skin and storage medium |
| CN117271672A (en) * | 2022-06-15 | 2023-12-22 | 深圳市腾讯网域计算机网络有限公司 | Demonstrate interface updating methods, devices, electronic devices and storage media |
| CN118535272B (en) * | 2024-07-25 | 2024-11-12 | 浙江大华技术股份有限公司 | Theme skin switching method, device, computer equipment and storage medium |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102200914A (en) * | 2011-06-24 | 2011-09-28 | 北京神州泰岳软件股份有限公司 | Method and equipment of realizing user interface on mobile terminal |
| CN108008997A (en) * | 2017-12-22 | 2018-05-08 | 北京酷我科技有限公司 | A kind of unified method replaced of APP skins |
| CN108228178A (en) * | 2017-12-15 | 2018-06-29 | 阿里巴巴集团控股有限公司 | A kind of page to APP carries out the method and apparatus for changing skin |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6791581B2 (en) * | 2001-01-31 | 2004-09-14 | Microsoft Corporation | Methods and systems for synchronizing skin properties |
| US20150186132A1 (en) * | 2013-12-31 | 2015-07-02 | Wolters Kluwer United States Inc. | User interface framework and tools for rapid development of web applications |
-
2018
- 2018-10-30 CN CN201811279364.2A patent/CN109284165B/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102200914A (en) * | 2011-06-24 | 2011-09-28 | 北京神州泰岳软件股份有限公司 | Method and equipment of realizing user interface on mobile terminal |
| CN108228178A (en) * | 2017-12-15 | 2018-06-29 | 阿里巴巴集团控股有限公司 | A kind of page to APP carries out the method and apparatus for changing skin |
| CN108008997A (en) * | 2017-12-22 | 2018-05-08 | 北京酷我科技有限公司 | A kind of unified method replaced of APP skins |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109284165A (en) | 2019-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109284165B (en) | Client skin changing method, device, equipment and computer readable storage medium | |
| US8468514B2 (en) | System and method for updating unified extensible firmware interface setting information | |
| CN104516908A (en) | Database access method and device | |
| CN114047960B (en) | Operating system operation method and device, electronic device and storage medium | |
| CN103718155A (en) | Runtime system | |
| CN101315604A (en) | Method and system for realizing software customization module | |
| US10949220B2 (en) | Object-oriented programming system and library | |
| CN107748690A (en) | Using jump method, device and computer-readable storage medium | |
| CN111124382A (en) | Attribute assignment method and device in Java and server | |
| CN113656001A (en) | Platform component development method, apparatus, computer equipment and storage medium | |
| CN104331275A (en) | JavaCard and method for patching application of JavaCard | |
| CN112905931B (en) | Page information display method and device, electronic equipment and storage medium | |
| CN110045997B (en) | Object initialization method, device, equipment and storage medium of basic function module | |
| US20050192929A1 (en) | Generation and conversion of object that provide for efficient object modification | |
| US8676842B2 (en) | Creating multiple Mbeans from a factory Mbean | |
| CN119645544A (en) | Data state updating method and device, storage medium and computer equipment | |
| CN117149263A (en) | Method and server for persistence of extended configuration center of split source framework | |
| CN117369832A (en) | Event processing method, device, electronic equipment and storage medium | |
| WO2024221415A1 (en) | Page rendering method and apparatus, device, and storage medium | |
| CN110908767A (en) | Parameter automatic deployment method and device | |
| CN111124386B (en) | Animation event processing method, device, equipment and storage medium based on Unity | |
| CN113296832A (en) | Data processing method and device and electronic equipment | |
| CN109150993B (en) | A method, terminal device and storage medium for obtaining a network request aspect | |
| CN114546226A (en) | Window element grabbing method and device and storage medium | |
| US8612407B1 (en) | Source control inheritance locking |
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 | ||
| TR01 | Transfer of patent right | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20250121 Address after: 1208, 12th Floor, Building 2, 186A Litang Road, Changping District, Beijing 100000 Patentee after: Mingshida (Beijing) Sports Technology Co.,Ltd. Country or region after: China Address before: 11 / F, building B1, phase 4.1, software industry, No.1, Software Park East Road, Wuhan East Lake Development Zone, Wuhan City, Hubei Province, 430070 Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. Country or region before: China |