Display device and floating window display method
By selecting the display area based on the priority and region information of view elements on the display device, the problem of floating windows obscuring view elements is solved, enabling users to quickly view and operate important view elements and improving the user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-02
- Publication Date
- 2026-03-12
AI Technical Summary
Floating windows can obscure important view elements on a display device, preventing users from quickly viewing or operating them and negatively impacting the user experience.
By obtaining the priority and area information of view elements in the interface, a display area that matches the size of the floating window and does not overlap is selected to display the target floating window, so as to avoid obscuring high-priority view elements.
It enhances the user experience by improving the ability of users to quickly view or manipulate important view elements.
Smart Images

Figure CN2025118471_12032026_PF_FP_ABST
Abstract
Description
Display device and method for displaying floating window
[0001] Cross-reference to Related Applications
[0002] The present disclosure claims priority to Chinese Patent Application No. 202411245464.9, filed on September 5, 2024, No. 202411388968.6, filed on September 30, 2024, and No. 202411607973.1, filed on November 11, 2024, the contents of which are incorporated herein by reference in their entirety. TECHNICAL FIELD
[0003] Embodiments of the present disclosure relate to computer technology. More particularly, it relates to a display device and a method for displaying a floating window. BACKGROUND
[0004] With the continuous development of electronic technology, display devices (e.g., mobile phones, tablets, etc.) have brought great convenience to people's life and work. With the popularity of display devices, more and more users chat, shop, watch videos and news, etc. through the applications installed on the display devices, so that the display devices have become an important tool for users to learn, socialize and entertain.
[0005] At present, many application interactions on display devices adopt the display form of a floating window to improve user experience. However, the display position of the floating window is usually fixed or random, so that the display of the floating window may block some important view elements (such as input boxes, video windows, etc.) in the interface, which prevents the user from viewing or operating the blocked view elements, and seriously affects the user experience. SUMMARY
[0006] In a first aspect, embodiments of the present disclosure provide a display device, comprising: a display configured to display a user interface; a controller configured to: in response to a touch display triggering operation of a target floating window, obtain area information of an area occupied by at least one first view element in the interface based on a priority of at least one view element in the interface, the at least one first view element being a view element whose priority is not lower than a target priority among the at least one view element; the priority of the view element being used to indicate a level of preventing the corresponding view element from being blocked by the floating window; in combination with size information of the target floating window, select a target display area from a display area in the interface that does not overlap with the area information of any first view element; and display the target floating window in the target display area.
[0007] In a second aspect, the embodiments of the present disclosure provide a method for displaying a floating window, comprising: in response to a triggering operation of displaying a target floating window, obtaining area information of an area occupied by at least one first view element in an interface based on a priority of the at least one view element, the at least one first view element being a view element whose priority is not lower than a target priority among the at least one view element; the priority of the view element being used to indicate a level of preventing the corresponding view element from being blocked by the floating window; selecting a target display area from a display area in the interface that does not overlap with the area information of any first view element in combination with size information of the target floating window; and displaying the target floating window in the target display area. BRIEF DESCRIPTION OF DRAWINGS
[0008] In order to more clearly illustrate the embodiments of the present disclosure or the implementation manners in the related art, a brief introduction will be made to the drawings needed to be used in the embodiments or related art description. Obviously, the drawings in the following description are some embodiments of the present disclosure, and other drawings can also be obtained by those skilled in the art based on these drawings.
[0009] FIG. 1 is an operation scenario between a display device and a control device according to some embodiments;
[0010] FIG. 2 is a hardware configuration block diagram of the control device 100 according to some embodiments;
[0011] FIG. 3 is a hardware configuration block diagram of the display device 200 according to some embodiments;
[0012] FIG. 4 is a software configuration diagram in the display device 200 according to some embodiments;
[0013] FIG. 5 is one of interface schematic diagrams of a method for displaying a floating window according to some embodiments;
[0014] FIG. 6 is another of interface schematic diagrams of a method for displaying a floating window according to some embodiments;
[0015] FIG. 7 is a third of interface schematic diagrams of a method for displaying a floating window according to some embodiments;
[0016] FIG. 8 is a fourth of interface schematic diagrams of a method for displaying a floating window according to some embodiments;
[0017] FIG. 9 is one of flow schematic diagrams of a method for displaying a floating window according to some embodiments;
[0018] FIG. 10 is another of flow schematic diagrams of a method for displaying a floating window according to some embodiments. DETAILED DESCRIPTION
[0019] FIG. 1 is a schematic diagram showing an operating scenario between a display device and a control device, where the control device includes a smart device or a control apparatus, according to an example embodiment. As shown in FIG. 1, a user can operate the display device 200 through the smart device 300 or the control apparatus 100.
[0020] In some embodiments, the control apparatus 100 can be a remote controller, and the communication between the remote controller and the display device can include infrared protocol communication or Bluetooth protocol communication, and other short-distance communication manners, to control the display device 200 through wireless or wired manner. The user can input user instructions through buttons on the remote controller, voice input, control panel input, etc., to control the display device 200.
[0021] In some embodiments, the smart device 300 (such as a mobile terminal, a tablet computer, a computer, a notebook computer, etc.) can also be used to control the display device 200. For example, the display device 200 can be controlled using an application running on the smart device.
[0022] In some embodiments, the display device can not receive instructions using the smart device or the control apparatus described above, but can receive user control through touch or gesture, etc.
[0023] In some embodiments, the display device 200 can also be controlled in a manner other than the control apparatus 100 and the smart device 300, for example, the display device 200 can directly receive user voice instructions through a voice instruction acquisition module configured inside the display device 200, or can receive user voice instructions through a voice control device arranged outside the display device 200.
[0024] In some embodiments, the display device 200 also communicates data with a server 400. The display device 200 can be communicatively connected through a local area network (LAN), a wireless local area network (WLAN), and other networks. The server 400 can provide various content and interaction to the display device 200. The server 400 can be a cluster or multiple clusters, and can include one or more types of servers.
[0025] FIG. 2 is a schematic diagram showing an example configuration of the control apparatus 100, according to an example embodiment. As shown in FIG. 2, the control apparatus 100 includes a controller 110, a communication interface 130, a user input / output interface 140, an external storage, and a power supply. The control apparatus 100 can receive user input operation instructions, and convert the operation instructions into instructions recognizable and responsive by the display device 200, to serve as an intermediary between the user and the display device 200.
[0026] As shown in FIG. 3, the display device 200 includes at least one of a tuner and demodulator 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a user interface 280, an external storage, a power supply.
[0027] In some embodiments, the controller includes a processor, a video processor, an audio processor, a graphic processor, a RAM, a ROM, a first interface to an n-th interface for input / output.
[0028] The display 260 includes a display screen component for presenting a picture, and a driving component for driving the image display, a component for receiving an image signal originated from the controller output, and displaying video content, image content, and a menu operation interface, and a user operation UI interface.
[0029] The display 260 can be a liquid crystal display, an OLED display, and a projection display, and can also be a projection device and a projection interface.
[0030] The communicator 220 is a component for communicating with an external device or a server according to various communication protocol types. For example, the communicator can include at least one of a Wifi module, a Bluetooth module, a wired Ethernet module, and other network communication protocol chips or near field communication protocol chips, and an infrared receiver. The display device 200 can establish transmission and reception of control signals and data signals with the external control device 100 or the server 400 through the communicator 220.
[0031] The user interface 280 can be used to receive a control signal of the control device 100 (e.g., an infrared remote controller, etc.). It can also be used to directly receive a user input operation instruction and convert the operation instruction into an instruction recognizable and responsive to the display device 200. In this case, it can be referred to as a user input interface.
[0032] The detector 230 is used to collect signals of an external environment or interaction with the outside. For example, the detector 230 includes a light receiver for collecting ambient light intensity, or an image collector such as a camera for collecting an external environment scene, user attributes, or user interaction gestures, or a sound collector such as a microphone for receiving external sound.
[0033] The external device interface 240 can include any one or more of a high-definition multimedia interface (HDMI), an analog or data high-definition component input interface (component), a composite video input interface (CVBS), a USB input interface (USB), an RGB port, etc. It can also be a composite input / output interface formed by the above-mentioned multiple interfaces.
[0034] The tuner and demodulator 210 receives broadcast television signals through wired or wireless reception, and demodulates audio and video signals, such as EPG data signals, from a plurality of wireless or wired broadcast television signals. In some embodiments, the controller 250 and the tuner and demodulator 210 can be located in different separate devices, i.e., the tuner and demodulator 210 can also be located in an external device of the main device in which the controller 250 is located, such as an external set-top box, etc.
[0035] The controller 250 controls the operation of the display device and the response to the user's operation through various software control programs stored in the memory (internal memory or external memory). The controller 250 controls the overall operation of the display device 200. For example, in response to receiving a user command for selecting a UI object displayed on the display 260, the controller 250 can perform an operation related to the object selected by the user command.
[0036] In some embodiments, the controller includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), and a random access memory (RAM), a read-only memory (ROM), a first interface to an n-th interface for input / output, a communication bus, etc.
[0037] The RAM, also known as main memory, is an internal memory that directly exchanges data with the controller. It can be read and written at any time (except during refresh), and is very fast, and is usually used as a temporary data storage medium for operating systems or other programs running in the background. The biggest difference between RAM and ROM is the volatility of data, i.e., once the power is off, the stored data will be lost. RAM is used in computers and digital systems to temporarily store programs, data, and intermediate results. ROM works in a non-destructive readout mode and can only read out information. Once the information is written, it is fixed and will not be lost even if the power is cut off, so it is also called fixed memory.
[0038] The user can input a user command through a graphical user interface (GUI) displayed on the display 260, and the user input interface receives the user input command through the graphical user interface (GUI). Alternatively, the user can input a user command by inputting a specific sound or gesture, and the user input interface receives the user input command by recognizing the sound or gesture through the sensor.
[0039] A "user interface" is a medium interface for interaction and information exchange between an application program or an operating system and a user, which realizes conversion between internal forms of information and forms acceptable to the user. A commonly used form of a user interface is a graphic user interface (GUI), which refers to a user interface related to computer operation displayed in a graphical manner. It can be an interface element such as an icon, a window, a control, etc. displayed in a display screen of a display device, wherein the control can include visual interface elements such as an icon, a button, a menu, a tab, a text box, a dialog box, a status bar, a navigation bar, a widget, etc.
[0040] The diversity of display devices provides users with a variety of product forms. In devices such as mobile phones, televisions, and tablets, many application interactions use floating window display to improve user experience. For example, although the input method on a mobile phone or the like is commonly displayed in half of the screen, half-screen display occupies a large display area, and manual operation of the user is very inconvenient, so there are function scenarios such as floating input method and floating application. However, since the display area of the floating window is fixed or random, there is a problem that the floating window may block view elements in other interfaces on the interface, especially some important view elements, so that the view elements cannot be quickly viewed or operated, and the user experience is poor.
[0041] Embodiments of the present disclosure provide a display device, a floating window display method, and a computer readable storage medium. The display device can implement the floating window display method provided by the embodiments of the present disclosure, or the functional modules or functional entities in the display device can implement the floating window display method provided by the embodiments of the present disclosure. The display device includes a controller and a display corresponding to the controller 250 and the display 260 in FIG. 3, respectively.
[0042] In some embodiments, the display is configured to display a user interface, and the controller is configured to: in response to a triggering operation of displaying a target floating window, acquire area information of an area occupied by at least one first view element in the interface based on a priority of the at least one view element, the first view element being a view element with a priority not lower than a target priority among the at least one view element; the priority of the view element being used to indicate a level of preventing the corresponding view element from being blocked by the floating window; in combination with size information of the target floating window, select a target display area from a display area in the interface that does not overlap with the area information of any first view element; and display the target floating window in the target display area.
[0043] The interface is a graphical user interface displayed by a screen of a display device, and one or more application windows of applications can be displayed in the interface. Each application window displays a corresponding view element. Therefore, the at least one view element can be a view element displayed in one application window, or can be view elements displayed in multiple application windows. When there is one application window displayed in the interface, the one application window can be displayed in full screen or in suspension. When there are multiple application windows displayed in the interface, the multiple application windows can be displayed in split screen or in superposition, which can be determined according to actual conditions, and is not limited herein.
[0044] The at least one view element can be all view elements in the interface, or can be all view elements in the interface that have been set with priorities. The interface can further include view elements that have not been set with priorities. The view elements that have not been set with priorities in the interface, i.e., the view elements that do not need to consider whether they are blocked by the floating window, can be blocked, and are hereinafter referred to as view elements that can be blocked.
[0045] The priority of the at least one view element includes a priority corresponding to each view element in the at least one view element. The priority of a view element can be determined by an application program of a view element in the interface according to the importance of the view element (the importance of the view element can be preset by the application program, or can be determined by the application program according to the use habits of a user). The priority of the view element can also be determined according to an element type to which the view element belongs, and a mapping relationship between multiple element types and multiple priorities. The priority of the view element can be determined according to actual conditions, and is not limited herein.
[0046] The area information of the at least one view element in the interface includes area information of each view element in the interface. The area information of a view element is determined according to the size information and the position information of the view element in the interface.
[0047] The target display area matching the size information can have the same size information as the size information of the target floating window, can have size information (indicated size) that is a product of the size information (indicated size) of the target floating window and a target ratio (the target ratio is within a preset ratio range, which can be determined according to actual conditions, and is not limited herein, for example, the target ratio range is greater than or equal to 90% and less than or equal to 1), or can have size information that is slightly larger than the size information of the target floating window, i.e., the target display area can be used to completely display the target floating window. The target display area matching the size information can be determined according to actual conditions, and is not limited herein.
[0048] In some embodiments, the priority of the at least one view element and the area information of the at least one view element can be determined before receiving the triggering operation of displaying the target floating window, or can be determined in response to the triggering operation of displaying the target floating window, or can be determined partly before receiving the triggering operation of displaying the target floating window and partly in response to the triggering operation of displaying the target floating window. The determination can be made according to actual conditions, which is not limited here.
[0049] The display device in the embodiments of the present disclosure can, in response to the triggering operation of displaying the target floating window, acquire the area information of the area occupied by the at least one first view element in the interface based on the priority of the at least one view element in the interface. The first view element is a view element whose priority is not lower than the target priority among the view elements. The priority of the view element is used to indicate the level of preventing the corresponding view element from being blocked by the floating window.
[0050] By determining the display area that matches the size information of the target floating window and does not coincide with the area information of any first view element as the target display area, and displaying the target floating window in the target display area, the target display area that does not coincide with the display area of the view element whose priority is higher than or equal to the target priority can be determined based on the priority of the at least one view element, and the target floating window can be displayed in the target display area. In this way, the display of the target floating window can be prevented from blocking the first view element which is relatively important (the priority is higher than or equal to the target priority), to some extent, so that the user can quickly view or operate the relatively important view element, and the user experience is improved.
[0051] When the target priority is the lowest priority among the view elements, the first view element is all the view elements contained in the interface. Since the target display area in the embodiments of the present application does not contain the first view element, there is no view element in the target display area at this time. That is, when the target floating window is displayed in the target display area, it will not block any view element.
[0052] Correspondingly, when each view element in the interface is the first view element, since the target display region does not occupy the position of the first view element, the empty region in the interface which does not contain the first view element can be regarded as the target display region. In this way, by displaying the target floating window in the target display region, any view element in the interface can not be blocked. Correspondingly, when each view element in the interface contains a view element with a priority lower than the target priority, the target display region can be selected from the region in the interface which does not display a view, and the target display region can also be selected from the region of the view element with a priority lower than the target priority.
[0053] Exemplarily, as shown in FIG. 5, the interface includes the view element corresponding to the thick solid line box (such as the list of display settings in the figure), the view element corresponding to the non-thick solid line box (such as the buttons of “Connect to this network” and “Cancel” in the figure), and the view element corresponding to the dashed line box (such as the password input box in the figure). The priority of the view element corresponding to the thick solid line box is higher than the priority of the view element corresponding to the non-thick solid line box, and the priority of the view element corresponding to the non-thick solid line box is higher than the priority of the view element corresponding to the dashed line box. Assuming that the first view element is the view element corresponding to the thick solid line box in the figure, the target floating window can be displayed in the blank region in the interface which does not contain any view element, as shown in FIG. 6, or the target floating window can be displayed above the display position of the view element corresponding to the non-thick solid line box or the view element corresponding to the dashed line box (not shown in the figure).
[0054] In some embodiments, the controller performs the determination of the target display region as the display region in the interface which matches the size information of the target floating window and does not coincide with the region information of any first view element, and is specifically configured to: in the case where there are multiple display regions in the interface which match the size information and do not coincide with the region information of any first view element, the display region with the smallest occupied area of view elements is determined as the target display region.
[0055] In other embodiments, in the case where there are multiple display regions in the interface which match the size information and do not coincide with the region information of any first view element, the display region with the smallest occupied area of the view element with the first priority in each display region can also be determined as the target display region; wherein the first priority is one level lower than the priority level of the target priority (for example, the priority level includes high priority, medium priority and low priority, if the target priority is medium priority, the first priority is low priority, and if the target priority is high priority, the first priority is medium priority).
[0056] It can be understood that the target display region includes a target view element in the at least one view element, and the priority of the target view element is the first priority. The target view element can be one view element, or can include multiple view elements with the same priority, which can be determined according to actual conditions, and is not limited here.
[0057] In the embodiments of the present disclosure, the target display region is determined as the display region in which the view element with the first priority occupies the smallest area in the plurality of display regions, which can minimize the occlusion of the target floating window to the view element with the first priority, facilitate the user to view and operate the occluded view element with the first priority, and improve the user experience.
[0058] It can be understood that the target display region displays the target floating window, which occludes the view element in the at least one view element (at least including the view element with the first priority, and possibly occludes other view elements with a priority lower than the first priority), but since the priority of the view element with the highest priority included in any other display region in the interface matching the size information (capable of displaying the target floating window) is greater than or equal to the first priority, displaying the target floating window in the target display region is a scheme that minimizes the influence on the at least one view element and maximally reduces the occlusion of the view element with the first priority, so to some extent, the user can quickly view or operate the view element with the first priority, and the user experience can be improved.
[0059] For ease of understanding, as shown in FIG. 6, the interface includes view elements corresponding to the thick solid line box and view elements corresponding to the non-thick solid line box, and the priority of the view elements corresponding to the thick solid line box is higher than the priority of the view elements corresponding to the non-thick solid line box. As shown in FIG. 7, the target floating window is displayed in the target display region including the view element 6 (target view element), and the overlapping area of the target display region and the view element 6 is less than or equal to the overlapping area of other display regions (regions capable of displaying the target floating window) and corresponding second view elements.
[0060] In some embodiments, in the case where there are a plurality of display regions in the interface that match the size information and do not overlap with the region information of any first view element, the target display region is determined as the display region in which the sum of the occupied areas of all view elements is the smallest in the plurality of display regions. In this way, the influence on the view elements with a priority lower than the target priority can be minimized, and the user experience can be improved. Furthermore, displaying the target floating window in the target display region minimizes the influence on the at least one view element and maximally reduces the occlusion of the important view element, so to some extent, the display of the floating window can avoid occluding the important view element, and the user can quickly view or operate the important view element, which can improve the user experience.
[0061] In some embodiments, before the controller performs the operation of obtaining the area information of the at least one first view element in the interface, the controller is further configured to: determine a priority of the at least one view element and the area information of the at least one view element; save the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list; and the controller performs the operation of obtaining the area information of the at least one first view element in the interface by obtaining the area information of the at least one first view element from the at least one view list.
[0062] In some embodiments, the at least one view list included in the display device can be one view list, and in this case, the identification and the area information of view elements of all priorities are stored in the single view list. In this case, the priority of each view element is stored in the single view list.
[0063] In other embodiments, the at least one view list included in the display device can also be multiple view lists, and in this case, the identification and the area information of view elements of different priorities can be stored in different view lists. In this case, the priority of the view elements stored in different view lists is indicated by the different view lists, and thus the priority of each view element does not need to be stored in the view list. It should be understood that the number of view lists included in the display device can be determined according to actual conditions, and is not limited herein.
[0064] In some embodiments, the identification and the area information of the view elements can be stored in the at least one view list, which facilitates the management of the at least one view element, and thus facilitates the quick obtaining of the area information of the at least one first view element from the at least one view list, and further facilitates the quick determination of the target display area.
[0065] In some embodiments, in a case where one of the view lists is used to save the identification and the area information of view elements of the same priority, the controller performs the operation of obtaining the area information of the at least one first view element from the at least one view list by obtaining the area information of the at least one first view element from the view list of the priority higher than the target priority and the view list of the priority equal to the target priority.
[0066] It can be understood that the identification and the area information of view elements of different priorities are stored in different view lists, and the identification and the area information of view elements of the same priority are stored in the same view list. The identification of the view element is used to indicate the corresponding view element, and the area information of the view element is used to indicate the display area of the corresponding view element in the interface.
[0067] In the embodiments of the present disclosure, the identifier of each view element and the region information of the view element are saved into a view list corresponding to the priority of the view element according to the priority of the view element, to obtain a plurality of view lists, facilitating the management of the at least one view element, so as to facilitate obtaining the region information of the at least one first view element from the view list higher than the target priority and the view list equal to the target priority in the at least one view list, and then used for quickly determining the target display region.
[0068] In some embodiments, in the case that the at least one first view element includes the view element equal to the target priority and the view element higher than the target priority, after the controller performs the obtaining of the region information of the region occupied by the at least one first view element in the interface, in the case that there is no region in the interface that matches the size information and does not coincide with the region information of any first view element, the controller is further configured to: obtain the region information of the region occupied by the at least one second view element in the interface, the at least one second view element being the view element higher than the target priority in the at least one first view element; and determine the display region in the interface that matches the size information and does not coincide with the region information of any second view element as the target display region.
[0069] In the case that the at least one first view element includes the view element equal to the target priority and the view element higher than the target priority, it indicates that the target priority is not the highest priority in the priorities to which the at least one view element belongs, and there is a view element with a priority higher than the target priority in the at least one view element.
[0070] In the case that there is no region in the interface that matches the size information and does not coincide with the region information of any first view element, it indicates that the interface does not include a region that can display the target floating window without blocking the first view element, that is, the region in the interface that can display the target floating window must block the view element of the target priority.
[0071] In the case that the at least one second view element is the view element higher than the target priority in the at least one first view element, that is, the at least one second view element is all the view elements higher than the target priority in the at least one view element, or the at least one second view element is all the view elements in the at least one view element except the view element with the priority equal to the target priority and the view element with the priority lower than the target priority.
[0072] The display region in the interface that matches the size information and does not coincide with the region information of any second view element is determined as the target display region.
[0073] In the embodiment of the present disclosure, in the case that there is no region matching the size information (a region required for displaying the target floating window) in the region other than the region where the view element with a priority higher than the target priority and the region where the view element with a priority equal to the target priority are located, the region other than the region where the view element with a priority higher than the target priority is located is searched, and the region matching the size information is searched as the target display region, so that the target floating window is displayed in a suitable region under the premise that the view element with the target priority must be blocked, the view element with a priority higher than the target priority can be avoided from being blocked, the user can be facilitated to view and operate the view element with a priority higher than the target priority, and the user experience can be improved.
[0074] In some embodiments, in the case that the at least one first view element only includes the view element with a priority equal to the target priority, after the controller is configured to acquire the region information of the region occupied by the at least one first view element in the interface, the controller is further configured to: in the case that there is no region in the interface that matches the size information and does not coincide with any first view element, determine the region in the interface that matches the size information and has the smallest area occupied by the view element with the target priority as the target display region.
[0075] The at least one first view element only includes the view element with a priority equal to the target priority, which means that the target priority is the highest priority among the priorities to which the at least one view element belongs.
[0076] The case that there is no region in the interface that matches the size information and does not coincide with the region information of any first view element means that the region in the interface that can display the target floating window must block the view element with the highest priority (i.e., the target priority). Therefore, the region in the interface that matches the size information and has the smallest area occupied by the view element with the target priority is determined as the target display region, that is, the region in the interface that has the smallest area of the view element with the target priority and can display the target floating window is determined as the target display region. In this way, the blocking of the view element with the target priority can be minimized, the influence of the view and operation of the blocked view element with the target priority on the user can be reduced, and the user experience can be improved.
[0077] In the embodiment of the present disclosure, the priority to which the at least one view element belongs can include two or more priorities, which can be determined according to actual conditions, and is not limited here.
[0078] In some embodiments, in the case that the priority to which the at least one view element belongs includes more than two priorities, if there is a view element of the first priority in the at least one view element, the controller, before acquiring the area information of the area occupied by the at least one first view element in the interface, is further configured to: acquire area information of an area occupied by the at least one fourth view element in the interface, the at least one fourth view element being a view element in the at least one view element other than a view element lower than the first priority; and determine a display area in the interface that matches the size information of the target floating window and does not coincide with the area information of any fourth view element as the target display area. The controller, in acquiring the area information of the area occupied by the at least one first view element in the interface, is specifically configured to: in the case that there is no display area in the interface that matches the size information and does not coincide with the area information of any fourth view element, acquire the area information of the area occupied by the at least one first view element in the interface. This can be determined according to actual conditions, which is not limited here.
[0079] To facilitate understanding, in the case that the priority to which the at least one view element belongs includes three priorities, the third priority, the second priority, and the first priority (the third priority is higher than the second priority, and the second priority is higher than the first priority), and the target priority is the second priority, the at least one view list is three view lists (the third view list corresponding to the third priority, the second view list corresponding to the second priority, and the first view list corresponding to the first priority), the controller is specifically configured to: in response to the trigger operation of displaying the target floating window, acquire the area information of the at least one view element from the three view lists; determine at least one first area in the interface that does not include any view element according to the area information of the at least one view element; and in the case that there is a second area that matches the size information in the at least one first area, determine the second area as the target display area.
[0080] It can be understood that the second area is a first area in the interface that does not include any view element, and the second area does not include a view element in the interface that cannot be blocked. Therefore, the second area is used as the target display area to display the target floating window, which has the least impact on the at least one first view element in the interface and does not affect the viewing and operation of the at least one first view element by the user, thereby improving the user experience.
[0081] If there is one region matching the size information in the at least one first region, the one region matching the size information is the second region. If there are multiple regions matching the size information in the at least one first region, any one of the multiple regions matching the size information is the second region, or a region in the multiple regions matching the size information that does not include other view elements without the priority is the second region. The actual situation can be determined, and the present disclosure is not limited herein.
[0082] In some embodiments, after the controller determines the at least one first region in the interface that does not include any view element according to the region information of the at least one view element, the controller is further configured to: in the case that there is no second region matching the size information in the at least one first region, obtain the region information of the at least one first view element from the third view list and the second view list; determine at least one third region in the interface that does not include any first view element according to the region information of the at least one first view element; and in the case that there is a fourth region matching the size information in the at least one third region, determine the fourth region as the target display region.
[0083] It can be understood that there is no region matching the size information in the at least one first region, that is, there is no region in the interface that can be used to display the target floating window and does not include any view element in the at least one view element. Therefore, it is necessary to consider whether there is a region (i.e., at least one third region) in the region where the view element with the first priority is located that can be used to display the target floating window. If there is a fourth region in the at least one third region that can be used to display the target floating window, the fourth region is used as the target display region to display the target floating window, which can not affect the user's view or operation of the view element with the third priority and the view element with the second priority, can reduce the influence on the view elements in the interface to a certain extent in the case of displaying the target floating window, and can improve the user experience.
[0084] If there is one region matching the size information in the at least one third region, the one region matching the size information is the fourth region. If there are multiple regions matching the size information in the at least one third region, any one of the multiple regions matching the size information is the fourth region, or the fourth region is the region with the minimum occupied area of the view element with the corresponding first priority in the multiple regions matching the size information (so that the influence on the view element with the first priority can be further reduced). The actual situation can be determined, and the present disclosure is not limited herein.
[0085] In some embodiments, the controller, after determining the at least one third area in the interface that does not include any first view element according to the area information of the at least one first view element, is further configured to: in the case that there is no area matching the size information in the at least one third area, obtain the area information of at least one second view element from a third view list; determine at least one fifth area in the interface that does not include any second view element according to the area information of the at least one second view element; and in the case that there is a sixth area matching the size information in the at least one fifth area, determine the sixth area as the target display area.
[0086] It can be understood that there is no area matching the size information in the at least one third area, i.e., there is no area in the interface that can be used to display the target floating window and does not include any first view element, and therefore it is necessary to consider whether the area where the view element of the second priority is located has an area that can be used to display the target floating window (i.e., at least one fifth area). If there is a sixth area in the at least one fifth area that can be used to display the target floating window, the sixth area is used as the target display area for displaying the target floating window, which can not affect the user's viewing or operation of the view element of the third priority, can reduce the impact on the view elements in the interface to a certain extent in the case of displaying the target floating window, and can improve the user experience.
[0087] If there is one area matching the size information in the at least one fifth area, the one area matching the size information is the sixth area. If there are multiple areas matching the size information in the at least one fifth area, any one of the multiple areas matching the size information is the sixth area, or the one with the smallest occupied area corresponding to the view element of the second priority is the sixth area (in this way, the impact on the view element of the second priority can be further reduced). The specific determination can be made according to the actual situation, which is not limited here.
[0088] In some embodiments, the controller is specifically configured to: in the case that there is no area matching the size information in the at least one fifth area, determine a seventh area matching the size information in the interface as the target display area.
[0089] It can be understood that there is no region in the at least one fifth region that matches the size information, i.e., there is no region in the interface that can be used to display the target floating window, and the region that includes the view element of the third priority in the region that can be used to display the target floating window in the interface must include the view element of the third priority. Therefore, it is necessary to consider whether there is a region that can be used to display the target floating window in the region occupied by the view element of the third priority, and the seventh region in the interface that matches the size information is used to display the target floating window.
[0090] In some embodiments, the seventh region can be any display region in the interface that matches the size information.
[0091] In some embodiments, the seventh region can be the region in the display region in the interface that matches the size information, and the area occupied by the corresponding view element of the third priority is the smallest. In this way, the influence on the view element of the third priority can be reduced, and the viewing or operation of the view element of the third priority can be minimized. In the case of displaying the target floating window, the influence on the view element in the interface can be reduced to a certain extent, and the user experience can be improved.
[0092] In some embodiments, in the case that there is no region in the at least one fifth region that matches the size information, the size information of the target floating window can also be adjusted appropriately to reduce the target floating window, so as to determine the target display region in the interface that has the least influence on the view element of the highest priority (the third priority).
[0093] In some embodiments, if the important view element in the application is by default a view element with a priority higher than or equal to the target priority (the target priority can be the lowest priority, or an intermediate priority, or the highest priority), the priority of the at least one view element can be used to determine the at least one first view element (all view elements except the view element with a priority lower than the target priority), and then the region information of the at least one first view element is obtained, and the target display region is determined.
[0094] In some embodiments, the at least one view element includes a first application view element of a first application, the target pop-up window is a pop-up window of a second application, the controller includes a first control module of the first application, a second control module of the second application, and a target service module; the controller performs determining a priority of the at least one view element and the area information of the at least one view element, in particular configured as follows: the first control module determines the priority of the first application view element according to a priority configuration rule corresponding to the first application; the first control module determines the area information of the first application view element; a control module sends the priority, the identifier, and the area information of the first application view element to the target service module; the controller performs saving the identifier and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list, in particular configured as follows: the target service module saves the identifier and the area information of the at least one view element into the view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain the at least one view list; the controller performs obtaining the area information of the at least one first view element from the at least one view list, in particular configured as follows: the second control module obtains the area information of the at least one first view element in the at least one view list from the target service module; the controller performs determining a target display area in the interface that matches the size information of the target pop-up window and does not coincide with the area information of any first view element, in particular configured as follows: the second control module determines a target display area in the interface that matches the size information and does not coincide with the area information of any first view element; the controller performs displaying the target pop-up window in the target display area, in particular configured as follows: the second control module displays the target pop-up window in the target display area.
[0095] In some embodiments, some interfaces can be added to implement the above-mentioned solutions, for example, a priority configuration interface (View.addUnCoverFlag(int priority)) is added to implement the functions of determining the priority of the first application view element according to the priority configuration rule corresponding to the first application and determining the area information of the first application view element; an add new anti-shielding region interface (addNewUnCoverRegion) is added to implement sending the priority, the identifier, and the area information of the first application view element to the target service module; a query anti-shielding region interface (getUncoverdRegion(int priority)) is added to implement obtaining the area information of the at least one first view element in the target view list from the target service module.
[0096] In the embodiments of the present disclosure, the first application is an application adapted to the priority configuration interface and the new anti-occlusion area adding interface, and the second application is an application adapted to the anti-occlusion area query interface. In this way, the display of the floating window can be avoided to occlude the relatively important view element to some extent, and the user can quickly view or operate the relatively important view element, thereby improving the user experience.
[0097] In Example 1, taking an Android system as an example, when determining the priority of at least one view element in an interface and the area information of the area occupied by the at least one view element in the interface, a window priority configuration interface View.addUnCoverFlag(int priority) (hereinafter referred to as a setting interface) for an application to configure the priority of a view element is provided. In the Android interface, all displayed view elements are view objects extended from a view class, as shown in FIG. 5, the area in the bold solid line box is a list view element (Listview), the area in the non-bold solid line box is a button view element (button), and the area in the dashed line box is an input box view element (Editview). Therefore, the view base class can be modified through View.addUnCoverFlag(int priority), and when an application (such as the setting application in FIG. 4) hopes that its own interface is not occluded, the priority of different view elements in the interface can be configured (the priority of different view elements in the interface can be configured according to the user's use habit of the interface). For example, in FIG. 4, the priority of the view element in the bold solid line box is higher than that of the view element in the non-bold solid line box, and the priority of the view element in the non-bold solid line box is higher than that of the view element in the dashed line box. That is, it is hoped that the view element in the bold solid line box is the least likely to be occluded, the view element in the non-bold solid line box is the second, and the view element in the dashed line box is the last. At this time, the application can use a reflection interface to call View.addUnCoverFlag(int priority) to configure the priority of the three view elements, and the configuration is as follows:
[0098] mListView.addUnCoverFlag(PRIO_LOW);
[0099] mBackButtonView.addUnCoverFlag(PRIO_MEDIUM);
[0100] mEditView.addUnCoverFlag(PRIO_HIGH);
[0101] mConnectButtonView.addUnCoverFlag(PRIO_HIGH);
[0102] mCancelButtonView.addUnCoverFlag(PRIO_HIGH).
[0103] In Example 2, based on the above Example 1, the disclosure uses a system service (WindowManagerService, WMS) to manage multiple view lists. Taking three view lists as an example, after the WMS is started, three priority (Map) lists are first created, namely Map_high, Map_medium, and Map_low, which respectively store the identifiers and area information of view elements of three different levels in the form of "key-value". The "key" is the identifier of the view element (corresponding to the view object id), and the "value" is the area information of the view element (i.e., the Rect of the view object). When an application calls View.addUnCoverFlag to configure the priority, the size and position information of the current view are first queried to generate the corresponding area information (hereinafter referred to as the Rect object), and then the identifier (view) of the view element, the area information (Rect) of the view element, and the priority (int priority) of the view element are sent to the WMS through the internal interface addNewUnCoverRegion of the windowManager.
[0104] After the WMS receives the addNewUnCoverRegion interface callback, the identifier and area information of the view element corresponding to the priority are stored in the Map table corresponding to the priority in the form of key-value.
[0105] Because the interfaces above can be called by all application interfaces to configure the non-occlusion priority of the view element, multiple interfaces of multiple applications or multiple interfaces of one application may simultaneously call the interfaces above to configure the non-occlusion priority of the view element (such as different applications displaying in split screen or the same application displaying in split screen).
[0106] Therefore, the query of the anti-occlusion area is not limited in the interface of a single application, but is the comprehensive state of the current interface. Therefore, the query interface cannot be placed in the application process like the setting interface. Here, a query interface getUncoverdRegion(int priority) is added in the WMS. The WMS service is part of the system service systemServer, and the third-party application can obtain the interface object of the service through getWindowManager and use the related interface.
[0107] When the application calls the interface getUncoverdRegion(int priority) to query, if the application calls windowManager.getUncoverdRegion(PRIO_HIGH), the system returns the area of the bold solid line box; if the application calls windowManager.getUncoverdRegion(PRIO_MEDIUM), the system returns the area of the bold solid line box and the area of the non-bold solid line box; if the application calls windowManager.getUncoverdRegion(PRIO_LOW), the system returns the area of the bold solid line box, the area of the non-bold solid line box and the area of the dashed line box. The return value is a list including the view element identifier and the area information, and the list contains all the view elements belonging to the uncovered area. When the application calls the WMS interface getUncoverdRegion, the WMS selects the appropriate Map table from the three levels of Map tables according to the priority level of the query, and returns the identifier and area information of the view elements in the selected appropriate Map table to the application in a list.
[0108] In the embodiments of the present disclosure, the view list includes three view lists as an example, and the specific process of at least one view list including two view lists, four view lists and more than four view lists can be determined with reference to the specific process of at least one view list including three view lists, which will not be described here.
[0109] Example 3, as shown in Fig. 6, the PRIO_MEDIUM level returns a list consisting of the region information of the region containing two unbolded solid-line boxes and the region information of the four bolded solid-line boxes. When the third-party application first queries through the PRIO_LOW level, the most complete set is returned. However, there can be a case in which the application's floating window has no place to be placed. At this time, if the complete target floating window is to be displayed while avoiding all the view elements with priority, it is impossible because there is not enough space in the remaining region. Therefore, the application can query one level up through the PRIO_MEDIUM level, ignoring the occupation of the region of the dashed-line box. If the target floating window still cannot be completely displayed, the application continues to query one level up through the PRIO_HIGH level, ignoring the occupation of the region of the dashed-line box and the region of the unbolded solid-line box. At this time, it can be found that there is enough region to display the target floating window as long as the bolded solid-line box is not blocked, as shown in Fig. 7. If there is still not enough space after querying through the PRIO_HIGH level, the application can still calculate the display region with the least impact through the region returned by the new interface, so as to reduce the impact on the view element with the highest priority.
[0110] In some embodiments, the at least one view element includes a third application view element of a third application, the target floating window is a floating window of the second application, the controller includes a second control module of the second application and a target service module; the controller performs determining the priority of the at least one view element and the area information of the at least one view element, in particular configured as follows: the target service module determines the priority of the third application view element according to the correspondence between the type and the priority of the view element; the target service module determines the area information of the third application view element; the controller performs saving the identification and the area information of the at least one view element into the view list of the corresponding priority according to the priority of the at least one view element, to obtain at least one view list, in particular configured as follows: the target service module saves the identification and the area information of the at least one view element into the view list of the corresponding priority according to the priority of the at least one view element, to obtain the at least one view list; the controller performs obtaining the area information of the at least one first view element from the at least one view list, in particular configured as follows: the second control module obtains the area information of the at least one first view element in the at least one view list from the target service module; the controller performs determining the display area in the interface that matches the size information of the target floating window and does not coincide with the area information of any first view element as a target display area, in particular configured as follows: the second control module determines the display area in the interface that matches the size information and does not coincide with the area information of any first view element as the target display area; the controller performs displaying the target floating window in the target display area, in particular configured as follows: the second control module displays the target floating window in the target display area.
[0111] In the embodiments of the present disclosure, for the third application (third-party application) that does not adapt to the priority configuration interface and the new anti-occlusion area adding interface described above, and the second application that adapts to the query anti-occlusion area interface, the target service module can be called to determine the priority of the third application view element and determine the area information of the third application view element according to the correspondence between the type and the priority of the view element through the priority configuration interface. In this way, the display of the floating window can be avoided to block the relatively important view element to some extent, and the user can quickly view or operate the relatively important view element, thereby improving the user experience.
[0112] It can be understood that, since the third application cannot determine the priority and area information of the anti-occlusion control in the current third application interface, the target service module cannot determine the priority, identification and area information of the anti-occlusion control in the third application interface, and therefore the priority of the view element is determined by the target service module according to the type of the view element. Specifically, the priority corresponding to the type of the view element, such as Button, ImageView, TextView, EditText and the like, is determined. The priority corresponding to the type of different view elements can be set in advance, for example, the HIGH level corresponds to the types of Button and EditText, the NORMAL level corresponds to the types of ListView and ImageView, and the LOW level corresponds to the type of TextView.
[0113] In some embodiments, the level of the view element can also be further updated according to the focus state (such as focused and unfocused) of the view element. For example, the View changing from the unfocused state to the focused state is updated from the priority determined according to the type of the View to the HIGH level, the View initially in the focused state is by default in the HIGH level, and the View changing from the focused state to the unfocused state (losing the focused state) is updated from the HIGH level to the priority determined according to the type of the View.
[0114] Therefore, in the embodiments of the present disclosure, the priority of the view element is determined according to the change of the visible state of the view element and the change of the focused state of the view element, and the view list in which the view element is located is updated.
[0115] In some embodiments, the at least one view element includes a third application view element of a third application, the controller includes a target service module; the controller performs determining the priority of the at least one view element and the area information of the at least one view element, in particular configured as follows: the target service module determines the priority of the third application view element according to the correspondence between the type and the priority of the view element; the target service module determines the area information of the third application view element; the controller performs saving the identification and the area information of the at least one view element into the view list of the corresponding priority according to the priority of the at least one view element, to obtain at least one view list, in particular configured as follows: the target service module saves the identification and the area information of the at least one view element into the view list of the corresponding priority according to the priority of the at least one view element, to obtain the at least one view list; the controller performs obtaining the area information of the at least one first view element from the at least one view list, in particular configured as follows: the target service module obtains the area information of the at least one first view element from the at least one view list; the controller performs determining the display area in the interface that matches the size information of the target floating window and does not coincide with the area information of any first view element as the target display area, in particular configured as follows: the target service module determines the display area in the interface that matches the size information and does not coincide with the area information of any first view element as the target display area; the controller performs displaying the target floating window in the target display area, in particular configured as follows: the target service module displays the target floating window in the target display area.
[0116] In the embodiments of the present disclosure, for the third application (third-party application) that does not adapt to the priority configuration interface and the new anti-occlusion area adding interface, and the application (third-party application) including the target floating window that does not adapt to the query anti-occlusion area interface, the target service module can be called to implement the determination of the priority of the third application view element and the determination of the area information of the third application view element according to the correspondence between the type and the priority of the view element by calling the priority configuration interface, and the target service module can be called to implement the obtaining of the area information of the at least one first view element in the target view list by calling the query anti-occlusion area interface. In this way, the display occlusion of the floating window to the relatively important view element can be avoided to some extent, and the user can quickly view or operate the relatively important view element, thereby improving the user experience.
[0117] In some embodiments, when the target service module (WMS) adds the target floating window, the type of the target floating window is queried, and when the target floating window is of the TYPE_APPLICATION_OVERLAY type, it represents that the target floating window is a floating window of a third-party application.
[0118] In some embodiments, when it is confirmed that the target floating window is a floating window of a third-party application, it is queried whether the target floating window can obtain focus. If the target floating window can obtain focus (native flag), the process is ended. Such a window will not only block the rear application, but also snatch the operation focus. The user cannot actually operate the rear interface, so the blocking will not affect the user experience.
[0119] In some embodiments, if the target floating window cannot obtain focus, the target floating window belongs to the target type window. Whether the anti-blocking process is performed can be determined according to the actual situation. For example, the anti-blocking process can be performed on the floating window of an application including a preset package name or on the application of a third-party input method. The anti-blocking process is not performed on the floating window that does not meet the preset condition.
[0120] In some embodiments, after it is determined that the target floating window is to be displayed, the target service module determines the area for displaying the target floating window according to the priority and area information of the currently displayed view element and the size information and area information of the target floating window, and displays the target floating window in the area.
[0121] In some embodiments, the anti-blocking process can also be performed only on the view element of a specific priority. For example, the target priority is a specific priority.
[0122] In some embodiments, the at least one view element includes a first application view element of a first application, the controller includes a first control module of the first application and a target service module; the controller performs determining the priority of the at least one view element and the area information of the at least one view element, in particular configured as follows: the first control module determines the priority of the first application view element according to the priority configuration rule corresponding to the first application; the first control module determines the area information of the first application view element; the first control module sends the priority, the identifier and the area information of the first application view element to the target service module; the controller performs saving the identifier and the area information of the at least one view element into the view list corresponding to the priority according to the priority of the at least one view element, to obtain at least one view list, in particular configured as follows: the target service module saves the identifier and the area information of the at least one view element into the view list corresponding to the priority according to the priority of the at least one view element, to obtain the at least one view list; the controller performs obtaining the area information of the at least one first view element from the at least one view list, in particular configured as follows: the target service module obtains the area information of the at least one first view element from the at least one view list; the controller performs determining a target display area in the interface which matches the size information of the target floating window and does not coincide with the area information of any first view element, in particular configured as follows: the target service module determines the target display area in the interface which matches the size information and does not coincide with the area information of any first view element; the controller performs displaying the target floating window in the target display area, in particular configured as follows: the target service module displays the target floating window in the target display area.
[0123] In the embodiments of the present disclosure, for the first application which adapts to the priority configuration interface and the new anti-occlusion area adding interface described above, and the application (third-party application) including the target floating window which does not adapt to the query anti-occlusion area interface, the priority of the first application view element can be determined according to the priority configuration rule corresponding to the first application by the first control module calling the priority configuration interface, and the area information of the first application view element can be determined by the first control module calling the priority configuration interface; the priority, the identifier and the area information of the first application view element can be sent to the target service module by the first control module calling the new anti-occlusion area adding interface; the area information of the at least one first view element in the target view list can be obtained by the target service module calling the query anti-occlusion area interface. In this way, the display of the floating window can be avoided to a certain extent. The important view element can be quickly viewed or operated by the user, and the user experience can be improved.
[0124] In some embodiments, the applications corresponding to the interface can all be the first application (the application adapted with the priority configuration interface and the new anti-occlusion area adding interface), or all be the third application (the third-party application not adapted with the priority configuration interface and the new anti-occlusion area adding interface), or part of the first application and part of the third application. The specific application can be determined according to actual conditions, which is not limited here. Correspondingly, the application corresponding to the target floating window can be the second application (the second application adapted with the anti-occlusion area query interface), or a third-party application (the application not adapted with the anti-occlusion area query interface). The specific application can be determined according to actual conditions, which is not limited here.
[0125] In some embodiments, after the controller saves the identification of the at least one view element and the region information into the view list corresponding to the priority of the at least one view element according to the priority of the at least one view element to obtain at least one view list, the controller is further configured to: in response to a target trigger operation on the view element, perform target processing; wherein the view element is any one of the at least one view element, and the target processing includes any one of the following: in the case that the target trigger operation is used to adjust the region occupied by the view element (which can be manual adjustment of the region occupied by the view element by the user, or automatic adjustment of the region occupied by the view element by the application program), the region information of the view element in the corresponding view list is updated to the adjusted region information of the view element; in the case that the target trigger operation is used to adjust the priority of the view element (which can be manual adjustment of the priority of the view element by the user, or automatic adjustment of the priority of the view element by the application program), the identification and the region information of the view element are updated to the view list corresponding to the adjusted priority, and the identification and the region information of the view element in the corresponding view list before adjustment are deleted; in the case that the target trigger operation is used to cancel the display of the view element, the identification and the region information of the view element in the corresponding view list are deleted; or in the case that the target trigger operation is used to increase the display of a third view element in the interface, the identification of the third view element and the region information of the third view element are saved into the view list corresponding to the priority of the third view element. The target trigger operation can be an operation of the user or an operation automatically triggered by the application program, which is not limited here.
[0126] In Example 4, based on the above Example 2, when the interface of the application changes or exits, causing the view element with the set priority to disappear or become invisible, the view element class removes the identification and region information of the view element from the corresponding view list of the WMS through the interface removeUnCoverRegion. When the view element becomes visible next time, the identification and region information of the view element is added to the corresponding view list again through the interface addNewUnCoverRegion. When the size of the view element of the application changes, the identification and region information of the changed view element can be directly added to the Map table of the corresponding WMS through addNewUnCoverRegion, directly replacing the identification and region information of the original view element. When the priority of the view element of the application changes, the record in the corresponding Map (the view list corresponding to the original priority) of the WMS is removed through removeUnCoverRegion, and a new record is added to the view list corresponding to the new priority through addNewUnCoverRegion.
[0127] In the embodiments of the present disclosure, as long as it is a target floating window, and some view elements in the interface are not desired to be blocked by the user, the region information of the corresponding view element can be queried through the above method, and a suitable target display region can be found according to the size of the target floating window to display.
[0128] Referring to FIG. 8, in some embodiments, the system can be divided into four layers, from top to bottom, an application layer (referred to as an “application layer”), an application framework layer (referred to as a “framework layer”), an Android runtime and system library layer (referred to as a “system runtime library layer”), and a kernel layer.
[0129] In some embodiments, at least one application program is running in the application layer, which can be a window program, a system setting program or a clock program provided by the operating system, or an application program developed by a third-party developer. In specific implementation, the application program package in the application layer is not limited to the above examples.
[0130] The framework layer provides an application programming interface (API) and a programming framework for the application program. The application framework layer includes some pre-defined functions. The application framework layer is equivalent to a processing center, which decides the action of the application program in the application layer. The application program can access the resources in the system and obtain the services of the system through the API interface in execution.
[0131] As shown in FIG. 8, the application framework layer in the embodiments of the present disclosure includes managers (Managers), content providers (Content Provider), etc., wherein the managers include at least one of the following modules: an activity manager (Activity Manager) for interacting with all activities running in the system; a location manager (Location Manager) for providing access to system location services for system services or applications; a package manager (Package Manager) for retrieving various information related to application packages currently installed on the device; a notification manager (Notification Manager) for controlling the display and clearing of notification messages; and a window manager (Window Manager) for managing icons, windows, toolbars, wallpapers, and desktop components on the user interface.
[0132] In some embodiments, the activity manager is used to manage the life cycle of each application and the general navigation back function, such as controlling the exit, opening, back, etc. of the application. The window manager is used to manage all window programs, such as obtaining the size of the display screen, determining whether there is a status bar, locking the interface, intercepting the interface, controlling the display window change (for example, reducing the display window, shaking the display, twisting the display, etc.), etc.
[0133] In some embodiments, the system runtime library layer provides support for the upper layer, i.e., the framework layer. When the framework layer is used, the Android operating system runs the C / C++ library contained in the system runtime library layer to realize the functions of the framework layer.
[0134] In some embodiments, the kernel layer is the layer between hardware and software. As shown in FIG. 8, the kernel layer at least contains at least one of the following drivers: an audio driver, a display driver, a Bluetooth driver, a camera driver, a WIFI driver, a USB driver, an HDMI driver, a sensor driver (such as a fingerprint sensor, a temperature sensor, a pressure sensor, etc.), and a power supply driver, etc.
[0135] To illustrate this solution in more detail, the following description will be provided with reference to Figures 9 and 10. It is understood that the steps involved in Figures 9 and 10 may include more or fewer steps in actual implementation, and the order of these steps may also differ, as long as the floating window display method provided in this embodiment can be achieved. This floating window display method is applied to a display device controlled by a control device. The executing entity of the floating window display method can be the display device itself, or a functional module or entity within the display device capable of implementing the floating window display method; no limitation is made here. Furthermore, a detailed description of the floating window display method provided in this embodiment can be found in the relevant description of the aforementioned display device, and the same or similar technical effects can be achieved; further details are omitted here.
[0136] Figure 9 is a flowchart of the steps of implementing a floating window display method according to one or more embodiments of the present disclosure. The floating window display method may include S901 to S903.
[0137] S901. In response to the trigger operation that triggers the display of the target floating window, based on the priority of at least one view element in the interface, obtain the area information of the area occupied by at least one first view element in the interface.
[0138] Wherein, the at least one first view element is a view element among the at least one view elements whose priority is not lower than the target priority; the priority of the view element is used to indicate the level of preventing the corresponding view element from being obscured by the floating window.
[0139] S902. Based on the size information of the target floating window, select the target display area from the display areas in the interface that do not overlap with the area information of any first view element.
[0140] S903. Display the target's floating window in the target display area.
[0141] In some embodiments, the above-described S902 can be specifically implemented by the following S902a.
[0142] S902a. If there are multiple display areas in the interface that match the size information and do not overlap with the area information of any first view element, the display area with the smallest area occupied by the view element among the multiple display areas shall be determined as the target display area.
[0143] In some embodiments, where the at least one first view element includes view elements with a priority equal to and higher than the target priority, the floating window display method provided in this disclosure embodiment may further include S904 and S905 after S901.
[0144] S904, in the case that there is no region in the interface that matches the size information and does not coincide with the region information of any first view element, obtaining region information of a region occupied by at least one second view element in the interface.
[0145] wherein the at least one second view element is a view element higher than the target priority among the at least one first view element.
[0146] S905, determining a display region in the interface that matches the size information and does not coincide with the region information of any second view element as the target display region.
[0147] In some embodiments, in the case that the at least one first view element only includes a view element equal to the target priority, after S901, the floating window display method provided by the embodiments of the present disclosure can further include the following S906.
[0148] S906, in the case that there is no region in the interface that matches the size information and does not coincide with any first view element, determining a region in the interface that matches the size information and has the smallest occupied area of the view element of the target priority as the target display region.
[0149] In some embodiments, in combination with FIG. 9, as shown in FIG. 10, before S901, the floating window display method provided by the embodiments of the present disclosure can further include the following S907 and S908, and the above-mentioned S901 can be implemented by the following S901a.
[0150] S907, determining a priority of the at least one view element and the region information of the at least one view element.
[0151] S908, saving the identification of the at least one view element and the region information into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list.
[0152] S901a, obtaining the region information of the at least one first view element from the at least one view list.
[0153] In some embodiments, in the case that one of the view lists is used to save the identification and the region information of view elements of the same priority, the above-mentioned S901a can be implemented by the following S901a1.
[0154] S901a1, obtaining the region information of the at least one first view element from the view list higher than the target priority and the view list equal to the target priority.
[0155] In some embodiments, after S908, the method for displaying a floating window provided by the embodiments of the present disclosure can further include S909 as follows.
[0156] S909, in response to the target triggering operation on any of the view elements, performing target processing.
[0157] The target processing includes any of the following:
[0158] In the case where the target triggering operation is used to adjust the area occupied by the any view element, the area information of the any view element in the corresponding view list is updated to the adjusted area information of the any view element.
[0159] In the case where the target triggering operation is used to adjust the priority of the any view element, the identification and the area information of the any view element are updated to the view list corresponding to the adjusted priority, and the identification and the area information of the any view element in the corresponding view list before adjustment are deleted.
[0160] In the case where the target triggering operation is used to cancel the display of the any view element, the identification and the area information of the any view element in the corresponding view list are deleted.
[0161] In some embodiments, after S908, the method for displaying a floating window provided by the embodiments of the present disclosure can further include S910 as follows.
[0162] S910, in the case where the target triggering operation is used to increase the display of a third view element in the interface, the identification of the third view element and the area information of the third view element are saved to the view list corresponding to the priority of the third view element.
[0163] In some embodiments, the at least one view element includes a first application view element of a first application, the target floating window is a floating window of a second application, and the display device includes a first control module of the first application, a second control module of the second application, and a target service module; S907 can be implemented by S907a-S907c as follows; S908 can be implemented by S908a as follows; S901 can be implemented by S901b as follows; S902 can be implemented by S902b as follows; and S903 can be implemented by S903a as follows.
[0164] S907a, the first control module determines the priority of the first application view element according to the priority configuration rule corresponding to the first application.
[0165] S907b, the first control module determines the area information of the first application view element.
[0166] S907c, the first control module sends the priority, the identifier and the region information of the first application view element to the target service module.
[0167] S908a, the target service module saves the identifier and the region information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, and obtains the at least one view list.
[0168] S901b, the second control module obtains the region information of the at least one first view element in the at least one view list from the target service module.
[0169] S902b, the second control module determines a display region in the interface that matches the size information and does not coincide with the region information of any first view element as the target display region.
[0170] S903a, the second control module displays the target floating window in the target display region.
[0171] In some embodiments, the at least one view element includes a third application view element of a third application, the target floating window is a floating window of a second application, and the display device includes a second control module and a target service module of the second application; the above S907 can be implemented through the following S907d-S907e; the above S908 can be implemented through the following S908b; the above S901 can be implemented through the following S901c; the above S902 can be implemented through the following S902c; and the above S903 can be implemented through the following S903b.
[0172] S907d, the target service module determines the priority of the third application view element according to the correspondence between the type and the priority of the view element.
[0173] S907e, the target service module determines the region information of the third application view element.
[0174] S908a, the target service module saves the identifier and the region information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, and obtains the at least one view list.
[0175] S901b, the second control module obtains the region information of the at least one first view element in the at least one view list from the target service module.
[0176] S902b, the second control module determines a display region in the interface that matches the size information and does not coincide with the region information of any first view element as the target display region.
[0177] S903a, the second control module displays the target floating window in the target display area.
[0178] In some embodiments, the at least one view element includes a third application view element of a third application, and the display device includes a target service module; S907 can be specifically implemented by S907d-S907e; S908 can be specifically implemented by S908a; S901 can be specifically implemented by S901c; S902 can be specifically implemented by S902c; and S903 can be specifically implemented by S903b.
[0179] S907d, the target service module determines the priority of the third application view element according to the correspondence between the type and the priority of the view element.
[0180] S907e, the target service module determines the area information of the third application view element.
[0181] S908a, the target service module saves the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain the at least one view list.
[0182] S901c, the target service module obtains the area information of the at least one first view element from the at least one view list.
[0183] S902c, the target service module determines a display area in the interface that matches the size information and does not coincide with the area information of any first view element as the target display area.
[0184] S903b, the target service module displays the target floating window in the target display area.
[0185] In some embodiments, the at least one view element includes a first application view element of a first application, and the display device includes a first control module of the first application and a target service module; S907 can be specifically implemented by S907a-S907c; S908 can be specifically implemented by S908a; S901 can be specifically implemented by S901c; S902 can be specifically implemented by S902c; and S903 can be specifically implemented by S903b.
[0186] S907a, the first control module determines the priority of the first application view element according to a priority configuration rule corresponding to the first application.
[0187] S907b, the first control module determines the region information of the first application view element.
[0188] S907c, the first control module sends the priority, the identifier and the region information of the first application view element to the target service module.
[0189] S908a, the target service module saves the identifier and the region information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, and obtains the at least one view list.
[0190] S901c, the target service module obtains the region information of the at least one first view element from the at least one view list.
[0191] S902c, the target service module determines a display region in the interface that matches the size information and does not coincide with the region information of any first view element as the target display region.
[0192] S903b, the target service module displays the target floating window in the target display region.
[0193] The embodiment of the present application also provides a computer readable storage medium, and the computer readable storage medium stores a computer program, the computer program is executed by a processor to realize each process of the floating window display method, and the same technical effects can be achieved.
[0194] The computer readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0195] The present application provides a computer program product, comprising: when the computer program product is run on a computer, the computer realizes the floating window display method.
[0196] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present disclosure, and not to limit them; although the present disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement to part or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. A display device comprising: a display configured to display a user interface; a controller configured to: in response to a triggering operation of displaying a target floating window, obtain area information of an area occupied by at least one first view element in the interface based on a priority of at least one view element in the interface, the at least one first view element being a view element of the at least one view element whose priority is not lower than a target priority; the priority of the view element being used to indicate a level of preventing the corresponding view element from being blocked by the floating window; in combination with size information of the target floating window, select a target display area from a display area in the interface that does not overlap with the area information of any first view element; display the target floating window in the target display area.
2. The display device of claim 1, wherein, the controller performing, in combination with the size information of the target floating window, selecting the target display area from the display area in the interface that does not overlap with the area information of any first view element is specifically configured to: in a case where there are multiple display areas in the interface that match the size information and do not overlap with the area information of any first view element, determine, as the target display area, an area in the multiple display areas that has the smallest occupied area of view elements.
3. The display device of claim 1, wherein, in a case where the at least one first view element includes a view element equal to the target priority and a view element higher than the target priority, after the controller performs obtaining the area information of the area occupied by the at least one first view element in the interface, the controller is further configured to: in a case where there is no display area in the interface that matches the size information and does not overlap with the area information of any first view element, obtain area information of an area occupied by at least one second view element in the interface, the at least one second view element being a view element higher than the target priority in the at least one first view element; determine, as the target display area, an area in the interface that matches the size information and does not overlap with the area information of any second view element.
4. The display device of claim 1, in a case where the at least one first view element only includes a view element equal to the target priority, after the controller performs obtaining the area information of the area occupied by the at least one first view element in the interface, the controller is further configured to: in a case where there is no display area in the interface that matches the size information and does not overlap with any first view element, determine, as the target display area, an area in the interface that matches the size information and has the smallest occupied area of the view element of the target priority.
5. The display device of any one of claims 1 to 4, before the controller performs obtaining the area information of the area occupied by the at least one first view element in the interface, the controller is further configured to: determining the priority of the at least one view element and the area information of the at least one view element; and saving the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list. The controller configured to determine the priority of the at least one view element and the area information of the at least one view element, and save the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list. The controller configured to determine the priority of the at least one view element and the area information of the at least one view element, and save the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list.
6. The display device of claim 5, wherein, in a case where one of the view lists is used to save the identification and the area information of view elements of the same priority, the controller configured to determine the priority of the at least one view element and the area information of the at least one view element, and save the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list, is further configured to: obtain the area information of the at least one first view element from the view list of the priority higher than the target priority and the view list of the target priority.
7. The display device of claim 6, wherein, after the controller configured to determine the priority of the at least one view element and the area information of the at least one view element, and save the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list, is further configured to: In response to a target triggering operation on any view element, a target processing is performed; wherein, The target processing includes any one of the following: in a case where the target trigger operation is used to adjust the area occupied by the any view element, updating the area information of the any view element in the corresponding view list to the adjusted area information of the any view element; in a case where the target trigger operation is used to adjust the priority of the any view element, updating the identification and the area information of the any view element to the view list corresponding to the adjusted priority, and deleting the identification and the area information of the any view element in the corresponding view list before the adjustment; in a case where the target trigger operation is used to cancel the display of the any view element, deleting the identification and the area information of the any view element in the corresponding view list; or, in a case where the target trigger operation is used to increase the display of a third view element in the interface, saving the identification of the third view element and the area information of the third view element into the view list corresponding to the priority of the third view element.
8. The display device of claim 5, wherein the at least one view element includes a first application view element of a first application, the target floating window is a floating window of a second application, and the controller includes a first control module of the first application, a second control module of the second application, and a target service module. The controller configured to determine the priority of the at least one view element and the area information of the at least one view element, and save the identification and the area information of the at least one view element into a view list corresponding to the priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list. The first control module determines a priority of a first application view element according to a priority configuration rule corresponding to the first application, and acquires the region information; and sends the priority, the identifier and the region information of the first application view element to the target service module; The controller saves the identifier and the region information of the at least one view element into a view list corresponding to the priority according to the priority of the at least one view element, to obtain at least one view list, and is specifically configured to: The target service module saves the identifier and the region information of the at least one view element into a view list corresponding to the priority according to the priority of the at least one view element, to obtain the at least one view list; The controller acquires the region information of the at least one first view element from the at least one view list, and is specifically configured to: The second control module acquires the region information of the at least one first view element from the at least one view list from the target service module; The controller selects a target display region from a display region in the interface which does not overlap with the region information of any first view element in combination with the size information of the target floating window, and is specifically configured to: The second control module determines a display region in the interface which matches the size information and does not overlap with the region information of any first view element as the target display region; The controller displays the target floating window in the target display region, and is specifically configured to: The second control module displays the target floating window in the target display region.
9. The display device of claim 5, wherein the at least one view element comprises a third application view element of a third application, the target floating window is a floating window of a second application, and the controller comprises a second control module and a target service module of the second application; The controller determines the priority of the at least one view element and the region information of the at least one view element, and is specifically configured to: The target service module determines the priority of the third application view element according to a correspondence between the type and the priority of a view element; The target service module determines the region information of the third application view element; The controller saves the identifier and the region information of the at least one view element into a view list corresponding to the priority according to the priority of the at least one view element, to obtain at least one view list, and is specifically configured to: The target service module saves the identifier and the region information of the at least one view element into a view list corresponding to the priority according to the priority of the at least one view element, to obtain the at least one view list; The controller acquires the region information of the at least one first view element from the at least one view list, and is specifically configured to: The second control module acquires the region information of the at least one first view element from the at least one view list from the target service module; The controller is configured to select a target display area from display areas in the interface that do not overlap with the size information of the target floating window and the area information of any first view element, in combination with the size information of the target floating window, and the controller is specifically configured to: The second control module is configured to determine a display area in the interface that matches the size information and does not overlap with the area information of any first view element as the target display area. The controller is configured to display the target floating window in the target display area, and the controller is specifically configured to: The second control module is configured to display the target floating window in the target display area.
10. The display device of claim 5, wherein the at least one view element comprises a third application view element of a third application, and the controller comprises a target service module; The controller is configured to determine a priority of the at least one view element and the area information of the at least one view element, and the controller is specifically configured to: The target service module is configured to determine a priority of the third application view element according to a correspondence between a type and a priority of a view element, and to obtain the area information of the third application view element. The controller is configured to save an identifier of the at least one view element and the area information into a view list corresponding to a priority of the at least one view element according to the priority of the at least one view element, to obtain at least one view list, and the controller is specifically configured to: The target service module is configured to save an identifier of the at least one view element and the area information into a view list corresponding to a priority of the at least one view element according to the priority of the at least one view element, to obtain the at least one view list. The controller is configured to obtain the area information of the at least one first view element from the at least one view list, and the controller is specifically configured to: The target service module is configured to obtain the area information of the at least one first view element from the at least one view list. The controller is configured to select a target display area from display areas in the interface that do not overlap with the size information of the target floating window and the area information of any first view element, in combination with the size information of the target floating window, and the controller is specifically configured to: The target service module is configured to determine a display area in the interface that matches the size information and does not overlap with the area information of any first view element as the target display area. The controller is configured to display the target floating window in the target display area, and the controller is specifically configured to: The target service module is configured to display the target floating window in the target display area.
11. The display device of claim 5, wherein the at least one view element comprises a first application view element of a first application, and the controller comprises a first control module of the first application and a target service module. The controller is configured to determine a priority of the at least one view element and the area information of the at least one view element, and the controller is specifically configured to: The first control module determines a priority of a first application view element according to a priority configuration rule corresponding to the first application, and acquires the region information; and sends the priority, the identifier and the region information of the first application view element to the target service module; The controller saves the identifier and the region information of the at least one view element into a view list corresponding to the priority according to the priority of the at least one view element, to obtain at least one view list, and is specifically configured to: The target service module saves the identifier and the region information of the at least one view element into a view list corresponding to the priority according to the priority of the at least one view element, to obtain the at least one view list; The controller acquires the region information of the at least one first view element from the at least one view list, and is specifically configured to: The target service module acquires the region information of the at least one first view element from the at least one view list; The controller selects a target display region from a display region in the interface which does not overlap with the region information of any first view element, in combination with size information of the target floating window, and is specifically configured to: The target service module determines a display region in the interface which matches the size information and does not overlap with the region information of any first view element as the target display region; The controller displays the target floating window in the target display region, and is specifically configured to: The target service module displays the target floating window in the target display region.
12. A floating window display method applied to a display device, comprising: In response to a triggering operation of displaying a target floating window, acquiring region information of a region occupied by at least one first view element in an interface based on a priority of at least one view element in the interface, the at least one first view element being a view element whose priority is not lower than a target priority among the at least one view element; The priority of the view element is used to indicate a level of preventing the corresponding view element from being blocked by a floating window; Selecting a target display region from a display region in the interface which does not overlap with the region information of any first view element, in combination with size information of the target floating window; Displaying the target floating window in the target display region.
Citation Information
Patent Citations
Display method and system for window of video picture in picture and video processing equipment
CN102194443A
Window display method and terminal
CN105005430A
Method for controlling small window of screen and related equipment
CN110362373A
Application window display method and device
CN111427657A
Display device and floating window display method
CN119806694A