Display apparatus and multi-window display method
Patent Information
- Application Number
- CN202310402904.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-14
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2043-04-14
AI Technical Summary
但是,用户需要通过移动焦点等额外的操作,确定该至少两个窗口中哪一个窗口占用焦点,导致用户的体验感较差
[0015]显示设备配置有分屏功能,在显示设备在第一窗口内显示第一应用的第一画面时,如果接收到用户输入的分屏指令,添加显示第二窗口,以在第一窗口内显示第一应用的第一画面时,在第二窗口内显示第二应用的第二画面,实现多窗口显示的效果。显示设备还在第一窗口和第二窗口中的焦点窗口上显示焦点框,以通过焦点框向用户指示当前占用焦点的窗口,令用户可以快速确定焦点,以便于用户进行操作,提高用户的体验感。而且,焦点框不会影响焦点窗口内显示的画面,从而不会影响用户正常观看焦点窗口内显示的画面。
Smart Images

Figure CN117812337B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display device technology, and in particular to a display device and a multi-window display method. Background Technology
[0002] Display devices refer to terminal devices capable of outputting specific display images, such as smart TVs, mobile terminals, smart advertising screens, and projectors. Taking smart TVs as an example, smart TVs are television products based on Internet application technologies, possessing open operating systems and chips, and having open application platforms. They enable two-way human-computer interaction and integrate multiple functions such as audio-visual, entertainment, and data to meet diverse and personalized user needs.
[0003] With the increase in screen size and the improvement in the performance of memory, central processing unit (CPU), and graphics processing unit (GPU), the hardware performance of display devices can now meet the requirements of running multiple applications simultaneously. Therefore, display devices have the hardware capabilities to configure split-screen functionality. If a display device is configured with split-screen functionality, it can display at least two windows simultaneously, each showing a different image. However, users need to perform additional operations such as moving the focus to determine which window is in focus, resulting in a poor user experience. Summary of the Invention
[0004] This application provides a display device and a multi-window display method. When multiple windows are displayed in a split screen, the user is indicated to the window currently occupying focus by displaying a focus box on the focus window.
[0005] In a first aspect, this application provides a display device, comprising: The display is configured to show the first screen of the first application within a first window; The controller is configured as follows: In response to a user's split-screen command, the display is controlled to add a second window, and the first screen of the first application is displayed in the first window, and the second screen of the second application is displayed in the second window; Identify the focus window that occupies focus in the first window and the second window; The display is controlled to display a focus frame above the focus window. The focus frame is a frame-shaped window, and the position and size of the focus frame match the position and size of the focus window.
[0006] In some embodiments of this application, the controller, in response to a user-inputted split-screen command, controls the display to add a second window, and displays a first screen of the first application within the first window, and a second screen of the second application within the second window, configured as follows: In response to the split-screen command, the display is controlled to show a split-screen application list, which includes items of the second application. In response to a user's selection command based on an item input in the second application, the display is controlled to add and display the second window, and the first screen of the first application is displayed in the first window, and the second screen of the second application is displayed in the second window.
[0007] In some embodiments of this application, the controller, in response to a user-inputted split-screen command, controls the display to add a second window, and displays a first screen of the first application within the first window, and a second screen of the second application within the second window, configured as follows: In response to the split-screen instruction, the second application associated with the first application is obtained, wherein the split-screen display of the first application and the second application is used to implement the preset function of the first application; The system controls the display to add and display the second window, and displays the first screen of the first application within the first window, and displays the second screen of the second application within the second window.
[0008] In some embodiments of this application, the controller controls the display to display a focus box on the border of the focus window, and is configured as follows: The position of the focus window, the size of the display area of the monitor, the preset screen split ratio between the first window and the second window, and the arrangement of the first window and the second window are obtained. The size of the focus window is determined based on the size of the display area, the preset screen ratio, and the arrangement of the first window and the second window; The position of the focus frame is determined based on the position of the focus window, and the size of the focus frame is determined based on the size of the focus window; The display is controlled to show the focus frame based on the position and size of the focus frame.
[0009] In some embodiments of this application, the controller is further configured to: In response to a zoom command input by the user, the target distance between the intersection of the first window and the second window and the target border is determined based on the size of the display area, the preset split-screen ratio, and the size that changes in the zoom direction. The target border is the first border in the display area that is perpendicular to the zoom direction. Based on the size of the display area and the target distance, determine the changed positions and sizes of the first window and the second window, and based on the changed positions and sizes of the focus window, determine the changed positions and sizes of the focus frame; Based on the changed positions and sizes of the first and second windows, the display is controlled to show the changed first and second windows, and based on the changed positions and sizes of the focus frame, the display is controlled to show the changed focus frame.
[0010] In some embodiments of this application, the controller is further configured to: Control the display to show a separator at the boundary between the first window and the second window; In response to a user's movement command based on the spacer, the spacer is moved, and the position of the spacer after movement within the display area is obtained; Based on the position of the spacer after it has moved within the display area, determine the changed position and size of the first window and the second window, and based on the changed position and size of the focus window, determine the changed position and size of the focus frame; Based on the changed positions and sizes of the first and second windows, the display is controlled to show the changed first and second windows, and based on the changed positions and sizes of the focus frame, the display is controlled to show the changed focus frame.
[0011] In some embodiments of this application, the controller is further configured to: In response to a user-inputted command to switch the focus window, the focus is displayed in the switched focus window, and the first application in the application stack list is modified to the application displayed in the switched focus window, wherein the application stack list includes the first application and the second application; According to a preset cycle, it is detected whether the first application stack in the application stack list and the focus window where the focus box is located correspond to the same application; If they correspond to different applications, the display is controlled to show the focus box on the window of the application corresponding to the first application stack.
[0012] In some embodiments of this application, the controller is further configured to: Set the focus box to be trusted by the system; In response to an operation command input by the user on the application within the focus window based on the focus box, the operation command is transmitted to the application within the focus window.
[0013] In some embodiments of this application, the controller is further configured to: Listen for display messages from the application within the focused window, the display messages being used to instruct the display of information prompt boxes; If the display message is detected, control the display to show the information prompt box above the focus box.
[0014] Secondly, this application also provides a multi-window display method, applied to the display device described in any embodiment of the first aspect, wherein the display device displays a first screen of a first application within a first window; The method includes: In response to a user's split-screen command, the display is controlled to add a second window, and the first screen of the first application is displayed in the first window, and the second screen of the second application is displayed in the second window; Identify the focus window that occupies focus in the first window and the second window; The display is controlled to display a focus frame above the focus window. The focus frame is a frame-shaped window, and the position and size of the focus frame match the position and size of the focus window.
[0015] The display device is equipped with a split-screen function. When the first screen of a first application is displayed in the first window, if a split-screen command is received from the user, a second window is added. This allows the first screen of the first application to be displayed in the first window, while the second screen of the second application is displayed in the second window, achieving a multi-window display effect. The display device also displays a focus frame on the focused window in both the first and second windows to indicate to the user which window currently has focus, enabling the user to quickly determine the focus for easier operation and improving the user experience. Furthermore, the focus frame does not affect the screen displayed within the focused window, thus ensuring uninterrupted viewing of the screen within that window. Attached Figure Description
[0016] To more clearly illustrate the technical solution of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1This application illustrates the usage scenario of the display device. Figure 2 This is a block diagram showing the configuration of the control device in an embodiment of this application; Figure 3 This is a configuration diagram of the display device in the embodiments of this application; Figure 4 This is a diagram showing the operating system configuration of the display device in the embodiments of this application; Figure 5 This is a flowchart illustrating the multi-window display of the display device in this application embodiment; Figure 6 This is a flowchart illustrating the split-screen display of the first and second applications on a display device, as described in this application embodiment. Figure 7 This is a flowchart illustrating the split-screen display of the first and second applications on a display device, as described in this application embodiment. Figure 8 This is a schematic diagram of the Android boot process in the embodiments of this application; Figure 9 This is a schematic diagram of the split-screen operation process provided by SystemUI in the embodiments of this application; Figure 10 This is a flowchart illustrating the display of the focus frame on the display device in an embodiment of this application; Figure 11 This is a schematic diagram of the system architecture of the display device in the embodiments of this application; Figure 12 This is a schematic diagram illustrating the process of split-screen display of a first application and a second application on a TV, as exemplified in this application. Figure 13 This is a schematic diagram illustrating the process of split-screen display of the first and second applications on a television screen, as shown in Example 2 of this application. Figure 14 This is a schematic diagram illustrating the process of split-screen display of the first and second applications on a television in Example 3 of this application. Figure 15 This is a schematic diagram of the process of split-screen display of the first and second applications on a TV in Example 4 of this application. Figure 16 This is a flowchart illustrating the display device's response to mouse operations in an embodiment of this application; Figure 17 This is a flowchart illustrating how a display device zooms in on the focused window using a zoom button, as described in an embodiment of this application. Figure 18 This is a flowchart illustrating how a display device zooms in on the focused window using a zoom button, as described in an embodiment of this application. Figure 19 This is a flowchart illustrating how a display device scales the focused window using spacers, as described in an embodiment of this application. Figure 20This is a flowchart illustrating how a display device scales the focused window using spacers, as described in an embodiment of this application. Figure 21 This is a flowchart illustrating the periodic detection of the application stack by the display device in this embodiment of the application. Figure 22 This is a flowchart illustrating the switching of the focus window on the display device in this embodiment of the application; Figure 23 This is a flowchart illustrating the switching of the focus window on the display device in this embodiment of the application; Figure 24 This is a flowchart illustrating the display of a message prompt box by the display device in an embodiment of this application; Figure 25 This is a schematic diagram of a message prompt box displayed on a display device in an embodiment of this application. Detailed Implementation
[0018] The embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described below do not represent all embodiments consistent with this application. They are merely examples of systems and methods consistent with some aspects of this application as detailed in the claims.
[0019] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.
[0020] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.
[0021] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.
[0022] The display device provided in this application can have various implementation forms, such as a smart TV, laser projection device, monitor, electronic bulletin board, electronic table, etc., or a device with a display screen such as a mobile phone, tablet computer, or smartwatch. Figure 1 and Figure 2 This is one specific embodiment of the display device of this application.
[0023] Figure 1 This is a schematic diagram illustrating a usage scenario of the display device according to the embodiment. For example... Figure 1 As shown, the user can operate the display device 200 through the control device 100. The display device 200 can obtain network data through the server 300 or obtain live broadcast signals through satellite.
[0024] Figure 2 This is a configuration block diagram of the control device 100. In some embodiments, the control device 100 may be a remote control. Communication between the remote control and the display device 200 includes infrared protocol communication, Bluetooth protocol communication, and at least one of other short-range communication methods, controlling the display device 200 wirelessly or via a wired connection. Users can control the display device 200 by inputting user commands through buttons on the remote control, voice input, control panel input, etc.
[0025] Figure 3 A configuration block diagram of a display device 200 according to an exemplary embodiment is shown.
[0026] Display device 200 includes at least one of tuner / demodulator 210, communicator 220, detector 230, external device interface 240, controller 250, display 260, audio output interface 270, memory, power supply, and user interface 280.
[0027] In some embodiments, the display device 200 can establish the transmission and reception of control signals and data signals with the control device 100 or the server 400 via the communicator 220. In some embodiments, the controller 250 and the tuner 210 can be located in different separate devices, that is, the tuner 210 can also be located in an external device of the main device where the controller 250 is located, such as an external set-top box. In some embodiments, the controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. In some embodiments, the controller 250 includes at least one of a central processing unit (CPU), a video processor, an audio processor, a graphics processing unit (GPU), RAM (Random Access Memory), ROM (Read-Only Memory), a first to an nth interface for input / output, a communication bus, etc. In some embodiments, the display 260 includes a display screen component for presenting images, a driving component for driving image display, a component for receiving image signals output from the controller 250, and a user interface for displaying video content, image content, and a menu control interface. In some embodiments, the display 260 can be a liquid crystal display, an OLED display, or a projection display, and can also be a projection device and a projection screen. In some embodiments, the user can input user commands through a graphical user interface (GUI) displayed on the display 260, and the user input interface receives the user input commands through the graphical user interface (GUI). Alternatively, the user can input user commands by inputting specific sounds or gestures, and the user input interface receives the user input commands by recognizing the sounds or gestures through sensors. In some embodiments, a "user interface" is a medium interface for interaction and information exchange between an application or operating system and the user, realizing the conversion between the internal form of information and a form acceptable to the user. The commonly used form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation displayed graphically. It can be an interface element such as an icon, window, or control displayed on the screen of an electronic device. The control can include at least one of the visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets.
[0028] See Figure 4In some embodiments, the operating system of the display device 200 is divided into four layers, from top to bottom: the Applications layer (hereinafter referred to as the "Application Layer"), the Application Framework layer (hereinafter referred to as the "Framework Layer"), the Android runtime and system library layer (hereinafter referred to as the "System Runtime Library Layer"), and the kernel layer. In some embodiments, at least one application runs in the Applications layer. These applications can be built-in Windows programs, system settings programs, or clock programs, such as a live streaming application used to play live programs; or they can be applications developed by third-party developers.
[0029] With the increased size of the display screen and the improved performance of memory, CPU, and GPU, the hardware performance of display device 200 is now sufficient to run multiple applications simultaneously. Therefore, display device 200 has the hardware capabilities to configure split-screen functionality. If split-screen functionality is configured, display device 200 can display at least two windows simultaneously, showing different applications within those windows. However, users need to perform additional operations such as moving the focus to determine which window occupies focus, resulting in a poor user experience.
[0030] To address the aforementioned problems, this application provides a multi-window display method, which can be applied to, for example... Figure 1-4 The display device 200 shown, or other display devices. This application embodiment uses... Figure 1-4 Taking the display device 200 shown as an example, this multi-window display method will be explained.
[0031] When the display device 200 displays the first screen of the first application in the first window, it can follow Figure 5 The process shown is displayed in multiple windows. The specific steps are as follows: S501, in response to a user-inputted split-screen command, adds a second window to be displayed, and displays the first screen of the first application in the first window and the second screen of the second application in the second window.
[0032] The first application is the application currently displayed on the display device 200. The first application is a split-screen application, meaning that the first application can run simultaneously with other split-screen applications in different windows. The screen of the first application is the first view.
[0033] There can be one or more first windows. If there is only one first window, it means that the display device 200 is currently displaying only one first application, and this first window can occupy the entire display area of the monitor. If there are multiple first windows, it means that the display device 200 is currently displaying multiple first applications simultaneously. Each first application is different and is displayed in its corresponding first window. These multiple first windows each occupy a portion of the display area of the monitor, and the portion of the display area occupied by each first window can form the entire display area of the monitor.
[0034] The split-screen command is used to instruct the display of the first application and the second application's screen in a split-screen manner. The window used to display the second application is called the second window, and the screen of the second application is called the second screen. The second window can be located to the left or right of the first window, meaning the first and second windows are arranged horizontally; or it can be located above or below the first window, meaning the first and second windows are arranged vertically.
[0035] The first and second windows can be displayed according to a preset screen ratio. For example, if the preset screen ratio is 1:1, the first and second windows will be displayed with the display area equally divided. If the preset screen ratio is 1:2, the first window will occupy one-third of the display area, and the second window will occupy two-thirds of the display area.
[0036] In some embodiments, the display device 200 can be configured to... Figure 6 The process shown displays the first and second applications in a split-screen format. The specific steps are as follows: S601, in response to a split-screen command, displays a list of split-screen applications.
[0037] Users can input split-screen commands to the display device 200 using split-screen buttons or similar inputs on the control device 100. The display device 200 responds to these commands by displaying a list of split-screen applications. This list includes items for each split-screen application, including a second application. The split-screen applications in the list can be either applications installed on the display device 200 that support split-screen functionality, or applications installed on the display device 200 that are associated with a first application. An association means that the first application and the associated application are displayed in a fixed combination.
[0038] S602, in response to a user's selection instruction based on an item input in the second application, adds and displays a second window, displays a first screen of the first application in the first window, and displays a second screen of the second application in the second window.
[0039] If the split-screen applications in the split-screen application list are split-screen applications installed on the display device 200 that support split-screen functionality, the user can select the second application they want to display in split-screen mode with the first application. This is achieved by inputting a selection command based on the second application's item, instructing the display device 200 to display both the first and second applications in split-screen mode. Thus, the user can flexibly choose the second application they want to display in split-screen mode with the first application.
[0040] If the split-screen application is installed on the display device 200 and is associated with the first application, typically there is only one split-screen application, namely the second application. The user can directly input selection commands based on the items in this split-screen application to instruct the display device 200 to display this fixed combination in split-screen mode. Since the associated first and second applications are used to achieve specific functions through split-screen display—for example, the first application is a fitness video application and the second application is a camera application—by displaying the first and second applications in split-screen mode, it is possible to play fitness videos through the fitness video application and capture and display the user's movements through the camera application. Therefore, after selecting the second application, the user can achieve specific functions by displaying the first and second applications in split-screen mode.
[0041] In some embodiments, the display device 200 can be configured to... Figure 7 The process shown displays the first and second applications in a split-screen format. The specific steps are as follows: S701, in response to a split-screen command, retrieves the second application associated with the first application.
[0042] The first application has a specified function, and the first application needs to implement the specified function by splitting the screen with the second application. The split-screen application that implements the specified function of the first application by splitting the screen with the first application is the second application associated with the first application.
[0043] For example, the first application is a fitness video application with the specified function of correcting fitness movements, and the second application associated with the first application is a camera application. As another example, the first application is an educational application with the specified function of taking study notes, and the second application associated with the first application is a note-taking application.
[0044] Users can input split-screen commands to the display device 200 using split-screen buttons or other inputs on the control device 100. The display device 200 responds to the split-screen command and retrieves the second application associated with the first application based on the association between the first application and the second application.
[0045] S702, adds the display of a second window, and displays the first screen of the first application in the first window, and displays the second screen of the second application in the second window.
[0046] The first screen of the first application is displayed in the first window, and the second screen of the second application is displayed in the second window, so as to realize the specified function of the first application by displaying the related first and second applications in a split screen.
[0047] Display device 200 provides a mechanism for accessing the Android split-screen application programming interface (API) within the system user interface (SystemUI), enabling upper-layer applications to quickly enter split-screen mode. The Android split-screen API of the window manager (WindowManager) is called through the SystemUI. The reason for choosing to provide the interface within the SystemUI is that after the Android system starts, the parent process (init) creates (fork) an incubator process (Zygote), which then starts the system service (system_server) process. The system_server process then starts the boot service, core services, and other services.
[0048] like Figure 8 The Android boot process illustrated shows that the kernel starts process 0 (init), which in turn starts process 1 (zygote). The zygote process then starts the system_server process, one of the core processes of the Android system. System_server provides services such as WindowManagerService and ActivityManagerService. These core services are started within the main function of system_server. When other services are started, the SystemUI process is also started. SystemUI is a resident process independent of system_server, providing the Android system UI. It can be considered a standalone app. SystemUI starts earlier than other system apps, making it a good option for adding split-screen entry points.
[0049] Prior to Android 12, the Recents class in System UI provided a way to enter split-screen mode, the WindowManagerProxy class provided a way to exit split-screen mode, and the am class provided a way to resize windows.
[0050] In Android 12 and above, Android's native split-screen control logic is located in the WindowManager directory, which provides the SplitScreenController class, which provides ways to enter and exit split screens and adjust window size.
[0051] When the system_server process starts the System UI, it first starts the SystemUIService. The initialization (onCreate) method of SystemUIService calls the startServicesIfNeeded method of SystemUIApplication. Executing this method loads all System UI service classes that inherit from SystemUI (CoreStartable class in Android 13 and above) and executes their start methods.
[0052] To provide a quick way to enter split-screen mode within System UI, allowing third-party applications to directly call it through System UI, split-screen functionality can be injected when System UI starts the system's SystemUI service class. To reduce coupling, split-screen logic can be injected into the vendor service (VendorServices). VendorServices also inherits from SystemUI, and its default start method is empty. A split-screen manager (SplitScreenManager) class can be instantiated within the VendorService class, and a broadcast listener can be registered. The split-screen manager class holds a reference to SplitScreenController and can call SplitScreenController's methods based on different broadcast types to implement split-screen control operations.
[0053] You can refer to the split-screen operation process provided by SystemUI. Figure 9SystemUIApplication obtains the SystemUI service class through SystemUIFactory. When SystemUIApplication calls startServicesIfNeedeed, it calls the start method of the VendorServices class. The VendorServices class holds a reference to a custom SplitScreenManager, which is instantiated as SplitScreenManagerImpl within the start method. SplitScreenManagerImpl can register broadcasts for entering and exiting split screen and adjusting windows through the registerReceiver method. Then, it calls the system's native split screen methods held by SplitScreenManagerImpl to perform various split screen operations. By providing services through System UI, a unified shortcut for entering and exiting split screen is provided. Entering split screen does not have to be done through the recent list, but provides a way to directly call the underlying system by sending a system notification. This does not break the system's native split screen logic, facilitates management, makes the split screen experience more harmonious, and solves the problem that third-party applications cannot directly enter split screen.
[0054] S502, determine the focus window that occupies focus in the first window and the second window.
[0055] When displaying the first and second windows in a multi-window mode, the window that occupies the focus is the focus window. The display device 200 pre-sets rules for occupying focus after splitting the screen, such as the leftmost window occupying focus, the topmost window occupying focus, the first window occupying focus, the second window occupying focus, etc.
[0056] After displaying the first and second windows in a split-screen manner, the display device 200 can determine the focus window by identifying the location of the focus point. Alternatively, the display device 200 can also directly determine the focus window based on preset rules for occupying focus points.
[0057] S503 displays the focus box above the focus window.
[0058] The focus frame is a frame-shaped window, meaning its central area is hollow, allowing the image within the focus window located below it to be displayed through this central area. The size of the focus frame matches the size of the focus window, achieving the effect of the focus frame obscuring the image displayed on its border. Therefore, when the focus frame is displayed on the border of the focus window, the user can see both the focus frame and the image within the focus window displayed through it. In this case, the focus frame serves as an indicator of the focus window, allowing the user to quickly locate the focus window and thus the position of the focus point.
[0059] Display device 200 can be in accordance with Figure 10 The flowchart shown displays the focus box, and the specific steps are as follows: S1001, obtain the position of the focus window, the size of the display area of the monitor, the preset screen ratio between the first window and the second window, and the arrangement of the first window and the second window.
[0060] The position of the focus window is its relative position within the display area. For example, if the first and second windows are arranged horizontally, with the first window to the left of the second, the focus window will be on the left if it is the first window, and on the right if it is the second window. Similarly, if the first and second windows are arranged vertically, with the first window above the second, the focus window will be at the top if it is the first window, and at the bottom if it is the second window.
[0061] The size of the display area can be characterized by width and height. The width is the horizontal dimension of the display area, and the height is the vertical dimension of the display area.
[0062] The preset split-screen ratio between the first and second windows is the ratio of the border sizes of the first and second windows in the arrangement direction. For example, if the first and second windows are arranged horizontally, then the bottom border of the first window and the bottom border of the second window, or the top border of the first window and the top border of the second window, are the borders in the arrangement direction. The ratio of the bottom border size of the first window to the bottom border size of the second window equals the preset split-screen ratio. Alternatively, the ratio of the top border size of the first window to the top border size of the second window equals the preset split-screen ratio. Similarly, if the first and second windows are arranged vertically, then the left border of the first window and the left border of the second window, or the right border of the first window and the right border of the second window, are the borders in the arrangement direction. The ratio of the left border size of the first window to the left border size of the second window equals the preset split-screen ratio. Alternatively, the ratio of the right border size of the first window to the right border size of the second window equals the preset split-screen ratio.
[0063] S1002, determine the size of the focus window based on the size of the display area, the preset split-screen ratio, and the arrangement of the first and second windows.
[0064] The borders of the first and second windows in the non-alignment direction are the same size, and equal to the size of the display area corresponding to that border. For example, if the first and second windows are arranged horizontally, their left and right borders are the borders in the non-alignment direction, and their size is equal to the height of the display area. Similarly, if the first and second windows are arranged vertically, their top and bottom borders are the borders in the non-alignment direction, and their size is equal to the width of the display area.
[0065] The sum of the border dimensions of the first and second windows in the arrangement direction equals the size of the display area corresponding to that border. The ratio of the border dimensions of the first and second windows in the arrangement direction equals the preset screen ratio. Based on these relationships, the border dimensions of the first and second windows in the arrangement direction can be calculated. For example, if the first and second windows are arranged horizontally, the sum of the bottom border dimensions of the first and second windows equals the width of the display area. The ratio of the bottom border dimensions of the first and second windows equals the preset screen ratio, such as 2:1. Therefore, the bottom border dimension of the first window equals two-thirds of the width of the display area, and the bottom border dimension of the second window equals one-third of the width of the display area.
[0066] Based on the above process, the dimensions of each border of the first window and the second window can be determined, and the dimensions of each border of the focus window can be further determined.
[0067] S1003, determine the position of the focus frame based on the position of the focus window, and determine the size of the focus frame based on the size of the focus window.
[0068] The position of the focus window is the position of the focus box in the display area, and the size of the focus window is the size of the focus box.
[0069] S1004, Display the focus box based on its position and size.
[0070] This ensures that the focus frame is displayed over the focus window and its size matches the border of the focus window, so that it neither obscures the image displayed inside the focus window nor obscures the focus frame.
[0071] In some embodiments, the display device 200 may be based on, for example Figure 11 The system architecture shown implements the display of the focus box. For example... Figure 11 As shown, split-screen apps can be YouTube, Prime Video, Miracast, and LiveTV. FocusWindow is a dynamically added focus frame to the split-screen focus window. In split-screen mode, it appears above the focus window when the split-screen app (YouTube, Prime Video, etc.) gains focus, with the same size and position as the focus window. TaskCheckListener listens for changes in the state of the split-screen focus window. When the user changes the size or position of the focus window via remote control or voice command, FocusWindow updates its size or position accordingly. TaskStackListener listens for changes in the application stack. When the split-screen application stack changes, it responds promptly, controlling the display and hiding of FocusWindow.
[0072] Based on the method described above for quickly entering split-screen mode by sending a broadcast to SystemUI, after sending the split-screen broadcast, SystemUI will call the `moveToSideStage` method of `SplitScreenController` to pull the split-screen application into the split-screen mode. `ActivityManager` provides methods to obtain currently running tasks, encapsulating this information into `RunningTaskInfo` and returning it to the caller. `RunningTaskInfo` inherits from the `TaskInfo` class, which provides the method `getWindowingMode` to obtain the current task's window mode. This method can be used to determine whether the current task is in multi-window mode. By checking if the current split-screen application's task is in multi-window mode, when it is determined that split-screen mode has been entered, the focus box is added to the default focus window.
[0073] Adding a focus window can be done using the `addView` method of `WindowManager`. This method takes two parameters: `View view` and `WindowManager.LayoutParams params`. The first parameter, `View`, is the view to be added, i.e., the focus box itself. The second parameter, `LayoutParams`, is the configuration of the focus box, such as its size, position, type, and window hierarchy, which can be obtained through `WindowManager`.
[0074] In some embodiments, the LayoutParams of the focus box can be obtained based on a coordinate system. Taking a first window and a second window arranged horizontally, with the first window on the left and the second window on the right, and a preset screen ratio of 1:1 as an example, a coordinate system is established with the bottom left corner of the first window as the origin, the bottom border of the display area as the x-axis, and the left border of the display area as the y-axis. After obtaining the width (mScreenWidth) and height (mScreenHeight) of the display area, the width and height of the focus box, as well as its position, can be calculated.
[0075] If the focused window is the first window, then the LayoutParams of the focused window can be represented as follows: MLayoutParams.width = mScreenWidth / 2; MLayoutParams.height =mScreenHeight; MLayoutParams.x = 0; MLayoutPartams.y = 0.
[0076] If the focus window is the second window, then the LayoutParams of the focus window can be represented as follows: MLayoutParams.width = mScreenWidth / 2; MLayoutParams.height = mScreenHeight; MLayoutParams.x=mScreenWidth / 2; MLayoutPartams.y = 0.
[0077] In some embodiments, after displaying the first application and the second application in split-screen mode, the display device 200 may switch to display one of the applications as follows: In response to a user-inputted movement command, the display device 200 moves the focus to the target window and displays a focus box on top of the target window.
[0078] The application displayed in this target window is the one that needs to be replaced.
[0079] In response to a user-inputted split-screen command, the display device 200 displays a list of split-screen applications within the target window.
[0080] This list of split-screen apps includes items that can be displayed in split-screen mode with non-target apps.
[0081] In response to a user's selection command based on an item input from a third application within a split-screen application, the display device 200 exits the target application and displays the third application within the target window.
[0082] This allows users to switch between any of the applications currently displayed in split-screen mode.
[0083] The following examples illustrate steps S501-S503.
[0084] Example 1 Taking the display device 200 as a television, the control device 100 as a remote control, and the first application as the YouTube application as an example.
[0085] like Figure 12 As shown in Figure ①, the television displays the first screen of the YouTube application within the first window 1201, which is a scene from movie A. The user inputs a split-screen command to the television via the split-screen button on the remote control, and the television responds to the split-screen command as follows: Figure 12 As shown in Figure ②, a split-screen application list 1202 is displayed on the screen of movie A. This split-screen application list 1202 includes items of split-screen applications that can be displayed in split-screen mode with the first application, such as App1, App2, and the Prime Video application. Taking the Prime Video application as an example, the user inputs a selection command based on an item in the Prime Video application, and the TV responds to the selection command, such as... Figure 12 As shown in Figure ③, a second window 1203 is added to the right of the first window 1201, and a second screen of the Prime Video app, which is a scene from movie B, is displayed within the second window 1203. This achieves the effect of split-screen display of the YouTube app and the Prime Video app. If the TV determines the first window 1201 as the focus window, then... Figure 12As shown in diagram ④, a focus frame 1204 is added above the first window 1201. The focus frame 1204 is a frame-shaped window, with area 1205 being hollow. The display layer of the focus frame 1204 is higher than that of the first window 1201. The size of the focus frame 1204 matches the size of the first window 1201. When the focus frame 1204 is displayed on the first window 1201, the border of the first window 1201 is covered by the focus frame 1204, and the image of movie A displayed within the first window 1201 can be presented to the user through area 1205. The user... Figure 12 The split-screen interface shown in ④ can quickly determine the focus window as the first window 1201 based on the focus box 1204.
[0086] Example 2 Taking the display device 200 as a television, the control device 100 as a remote control, and the first application as a fitness application as an example.
[0087] like Figure 13 As shown in Figure ①, the TV displays the first screen of the fitness application within the first window 1301, which is a fitness video. The user inputs a split-screen command to the TV via the split-screen button on the remote control. The TV responds to this command and identifies the second application associated with the fitness application as the camera application. For example... Figure 13 As shown in Figure ②, the TV adds a second window 1302 to the right of the first window 1301. After the camera is turned on, the second window 1302 displays a second view of the camera application, which is the image captured by the TV's camera. Thus, by split-screen display of the fitness application and the camera application, the TV achieves the effect of correcting the user's movements during exercise. If the TV determines the second window 1302 as the focus window, then... Figure 13 As shown in ③, a focus frame 1303 is added above the second window 1302. The focus frame 1303 is a frame-shaped window, and area 1304 is hollow. The display layer of the focus frame 1303 is higher than that of the second window 1302. The size of the focus frame 1303 matches the size of the second window 1302. When the focus frame 1303 is displayed on the second window 1302, the border of the second window 1302 is covered by the focus frame 1303, and the image captured by the TV's camera displayed within the second window 1302 can be presented to the user through area 1304. The user... Figure 13 The split-screen interface shown in ③ can quickly determine the focus window as the second window 1302 based on the focus box 1303.
[0088] Example 3 Taking the display device 200 as a television, the control device 100 as a remote control, and the first application as the YouTube application as an example.
[0089] When using the YouTube app, users can send a split-screen command to the TV using the split-screen button on the remote control. The TV will respond to this command and display a list of split-screen apps, including those that can be displayed in split-screen mode alongside the YouTube app, such as the YouTube app itself. If the user selects an item from the Prime Video app, such as... Figure 14 As shown in Figure ①, the TV will display the first screen of the YouTube application, such as movie A, in the first window 1401, and the second screen of the Prime Video application, such as movie B, in the second window 1402. Furthermore, if the TV determines that the first window 1401 is the focus window, a focus frame 1403 will be displayed above the first window 1401. The process of split-screen display of the YouTube and Prime Video applications described above is similar to that in Example 1 and will not be repeated here.
[0090] When the YouTube and Prime Video apps are displayed in split-screen mode, if a user wants to switch between the two apps, they can use the remote control to move the focus to the window containing the app they want to switch to. For example, if a user wants to switch to the Prime Video app, they need to use the remote control to move the focus to the second window 1402. At this time, as... Figure 14 As shown in Figure ②, the focus box 1404 will be updated and displayed on the second window 1402 to indicate that the second window 1402 is the focus window occupying focus. While the focus is displayed within the second window 1402, the user can send a split-screen command to the TV again via the split-screen button on the remote control. The TV responds to this split-screen command as follows: Figure 14 As shown in ③, a split-screen application list 1404 is displayed in the second window 1402. This list includes items that can be displayed in split-screen mode with the YouTube application. To avoid invalid selections by the user, the list does not include the currently displayed Prime Video application, but includes items from other split-screen applications, such as App1 and App2. The focus will default to the first item in the split-screen application list 1404, and the user can use the directional buttons on the remote control to move the focus between items. If the user wants to display the App2 application in split-screen mode with the YouTube application, they can use the right directional button on the remote control, such as... Figure 14 As shown in ③, move the focus (shown in a thick box) to the item in the App2 application and send a confirmation command to the TV using the confirmation button on the remote control. In response to this confirmation command, the TV will exit the Prime Video application and proceed as follows: Figure 14As shown in ④, the screen of the App2 application, such as a chat interface, is displayed in the second window 1402. At this time, the focus box 1403 is still displayed on top of the second window 1402 to indicate to the user that the focus window is the second window 1402.
[0091] Example 4 Taking the display device 200 as a television, the control device 100 as a remote control, and the first application as a fitness application as an example.
[0092] When using a fitness app, users can send a split-screen command to the TV using the split-screen button on the remote control. The TV will respond to the split-screen command, identify the camera app associated with the fitness app, and then... Figure 15 As shown in Figure ①, the first screen of the fitness application, such as a fitness video, is displayed in the first window 1501, and the second screen of the camera application, such as a captured image, is displayed in the second window 1502. Furthermore, if the TV determines that the second window 1502 is the focus window, a focus frame 1503 is added above the second window 1502. The process of split-screen display of the fitness application and the camera application described above is similar to that in Example 2 and will not be repeated here.
[0093] When the fitness app and camera app are displayed in split-screen mode, if the user wants to switch to the app displayed in split-screen mode with the fitness app, they can move the focus to the second window 1502 using the remote control. In this example, since the focus is already displayed in the second window 1502, the user does not need to perform the additional operation of moving the focus to the second window 1502. When the focus is displayed in the second window 1502, the user can send a split-screen command to the TV again using the split-screen button on the remote control. The TV responds to this split-screen command as follows: Figure 15 As shown in ②, a split-screen application list 1504 is displayed in the second window 1502. This list includes items that can be displayed in split-screen mode with the fitness app, as well as items corresponding to programs from different signal sources than the fitness app, such as live TV and App3 applications. The focus will be displayed on the first item in the split-screen application list 1504 by default, and the user can use the directional buttons on the remote control to move the focus between items. If the user wants to display live TV in split-screen mode with the fitness app, such as... Figure 15 As shown in ②, since the focus (shown in a thick box) is displayed on the live TV item by default, a confirmation command can be sent to the TV via the confirmation button on the remote control. In response to this confirmation command, the TV will exit the camera application and proceed as follows: Figure 15 As shown in ③, the live television broadcast, such as program 1, is displayed in the second window 1502. At this time, the focus box 1503 is still displayed above the second window 1502 to indicate to the user that the focus window is the second window 1502.
[0094] To enhance the security of apps and the system platform, untrusted touch events are newly added. When the window of the touch is not the same app as the underlying app, the touch event will be blocked from being delivered downwards. As a result, when a user operates an application within the focus window under the focus frame via touch and mouse, the application does not respond. That is, the user can operate the application in the focus window under the focus frame through the remote control, but cannot operate it through the mouse, resulting in a state where the peripheral device malfunctions.
[0095] The display device 200 can follow Figure 16 the process shown in the figure to respond to mouse operations, and the specific steps are as follows: In S1601, the focus frame is set to be trusted by the system.
[0096] To prevent the focus frame from affecting mouse operations, it is necessary to configure the system to trust the window where the focus frame is located. Since the focus frame and the application in the underlying focus window do not belong to the same application, it is required to modify the properties of the focus frame. By analyzing and experimenting with the restrictions on untrusted touch events in Android 12, a solution is designed to bypass this restriction on the focus window by calling the setTrustedOverlay method of WindowManager.LayoutParams through the reflection mechanism. The following code can be referred to: private void setTrustedOverlay(WindowManager.LayoutParams layoutParams){ try{ int trustedOverlayFlag=0x20000000; Field field=layoutParams.getClass().getField(name:"privateFlags"); field.setAccessible(true); field.set(layoutParams,trustedOverlayFlag); }Catch(NoSuchFieldException | IllegalAccessException e){ LogUtil.d(TAG,content:"set Trusted overlay failed"+e.toString()); }.
[0097] S1602, responding to the user's operation command input to the application within the focus window based on the focus frame, transmits the touch event corresponding to the operation command to the application within the focus window.
[0098] By setting the above, when adding a focus box and initializing LayoutParams, you can directly set the private flags (privateFlags) to set trustedOverLay, making the system trust the added focus box and allowing touch events to be passed down, thus solving the problem that the application within the focus window cannot respond to mouse operations.
[0099] Users can zoom in and out of the focused window; the display device 200 can zoom in and out as follows: Figure 17 The process for scaling the focus window is shown below. S1701, in response to the zoom command input by the user, determines the target distance between the intersection of the first window and the second window and the target border based on the size of the display area, the preset split-screen ratio, and the size that changes in the zoom direction.
[0100] If the first and second windows are arranged horizontally, the scaling direction is horizontal. If the first and second windows are arranged vertically, the scaling direction is vertical.
[0101] The target border is the first border in the display area that is perpendicular to the zoom direction. For example, if the first and second windows are arranged horizontally, the target border is the left border of the display area. If the first and second windows are arranged vertically, the target border is the top border of the display area.
[0102] There is a threshold for the size that changes in the scaling direction. This threshold is the distance between the boundary between the first and second windows and the border of the display area perpendicular to the scaling direction. For example, if the scaling direction is horizontal to the right, the threshold is the distance between the boundary between the first and second windows and the right border of the display area.
[0103] S1702, determine the changed positions and sizes of the first and second windows based on the size of the display area and the target distance, and determine the changed positions and sizes of the focus frame based on the changed positions and sizes of the focus window.
[0104] For example, if the first and second windows are arranged horizontally, with the first window on the left and the second window on the right, and the second window is the focus window, and the current position of the focus window is within the area starting from the target distance from the left border of the display area, and its width is equal to the target distance, then the width of the first window is equal to the target distance, and its height is equal to the height of the display area. The width of the second window is equal to the difference between the width of the display area and the target distance, and its height is equal to the height of the display area.
[0105] Based on the changed positions and sizes of the first and second windows, the changed positions and sizes of the focus window can be determined. The changed positions and sizes of the focus window can be directly used as the changed positions and sizes of the focus frame.
[0106] S1703, based on the changed positions and sizes of the first and second windows, display the changed first and second windows, and based on the changed positions and sizes of the focus box, display the changed focus box.
[0107] The display device 200 displays the changed first and second windows according to their positions and sizes, and displays the changed focus frame according to its position and size. At this time, the changed focus frame can still be accurately displayed above the changed focus window, and its size matches the changed focus window. Therefore, it is possible to scale the focus window using the zoom buttons within it, and to dynamically adjust the focus frame based on the scaling changes of the focus window.
[0108] like Figure 18 As shown in Figure ①, the display device 200 displays a first window 1801 and a second window 1802 in a split-screen manner. The second window 1802 is the focus window, and a focus frame 1803 is displayed on it. The user can input menu commands to the display device 200 via the menu keys in the control device 100. In response to these menu commands, the display device 200 displays a control menu within the focus window (i.e., the second window 1802), such as... Figure 18 As shown in Figure ①, the control menu includes a zoom-out button 1804 and a zoom-in button 1805. The user can input a zoom-out command to the display device 200 using the zoom-out button 1804, and the display device 200 responds to the zoom-out command as follows: Figure 18 As shown in Figure ②, the second window 1802 is reduced in size, while the first window 1801 is enlarged. The dimensions of the first window 1801 and the second window 1802 change in the horizontal direction. Correspondingly, based on the changed position and size of the second window 1802, the size of the focus frame 1803 is also reduced in a horizontal rightward direction. The reduced size matches the reduced size of the second window 1802, and the reduced focus frame 1803 is still displayed on the reduced second window 1802.
[0109] The user can input a zoom command to the display device 200 using the zoom button 1805. In response to this command, the display device 200 zooms in on the second window 1802 and zooms out on the first window 1801, wherein the dimensions of the first window 1801 and the second window 1802 change in the horizontal direction. Correspondingly, based on the changed position and size of the second window 1802, the size of the focus frame 1803 is also enlarged, with the zoom direction being horizontal to the left. The enlarged size matches the enlarged size of the second window 1802, and the enlarged focus frame 1803 remains displayed on the enlarged second window 1802.
[0110] In some embodiments, the updated LayoutParams of the focus box can be obtained based on a coordinate system. Taking a first window and a second window arranged horizontally, with the first window on the left and the second window on the right, as an example, a coordinate system is established with the bottom left corner of the first window as the origin, the bottom border of the display area as the x-axis, and the left border of the display area as the y-axis. If the preset split-screen ratio is 1:1, the boundary between the first and second windows is the centerline of the display area. Assuming the threshold in the scaling direction is x, if the user inputs a zoom-in command, the horizontal coordinate (target distance) at the boundary is calculated as: Mx = MscreenWidth / 2 + x. If the user inputs a zoom-out command, the horizontal coordinate (target distance) at the boundary is calculated as: Mx = MscreenWidth / 2 - x. After calculating Mx, the split-screen application notifies SystemUI to call the ChangeBound method of the system SplitScreenController to change the horizontal coordinates of the first and second windows to display the scaled-up first and second windows.
[0111] When a split-screen application notifies SystemUI to call the `changeBound` method to change the size of the first and second windows, it passes the horizontal coordinate parameter `Mx` of the boundary point. Therefore, the application can use this parameter to update its own focus frame. Taking a user-inputted zoom-out command and the second window on the right as the focus window, the updated focus frame parameters are as follows: MLayoutParams.width = mScreenWidth-Mx; MLayoutParams.height = mScreenHeight; MLayoutParams.x = Mx; MLayoutPartams.y = 0; The size of the focus window can be updated using the WindowManager's updateViewLayout method, i.e., WindowManager.updateViewLayout(focusWindow, MLayoutParams).
[0112] Display device 200 can be configured as follows Figure 19 The process for scaling the focus window is shown below. S1901, a separator is displayed at the boundary between the first window and the second window.
[0113] After splitting the screen, the Android system automatically adds a DividerView, or separator, at the boundary between the first and second windows. This separator can be a line, segment, dot, arrow, etc. It is used to indicate the boundary between the first and second windows.
[0114] like Figure 20 As shown in ①, a separator 2003 is displayed at the boundary between the first window 2001 and the second window 2002. The separator 2003 is segmented. If the first window 2001 is the focus window, a focus box 2004 is also displayed on the first window 2001.
[0115] S1902, in response to a user's movement command based on the spacer input, moves the spacer and obtains the position of the spacer after it has been moved within the display area.
[0116] Users can move the separator left and right using the mouse. For example, after selecting the separator, the user can slide the mouse to the right to input a movement command to the display device 200, which indicates that the separator should be moved to the right.
[0117] The display device 200 responds to a movement command and displays the movement trajectory of the spacer. When the spacer reaches the position indicated by the user after movement, it acquires the position of that position within the display area.
[0118] S1903, based on the position of the separator after it has moved within the display area, determine the changed position and size of the first window and the second window, and based on the changed position and size of the focus window, determine the changed position and size of the focus frame.
[0119] The separator is used to indicate the boundary between the first and second windows. Therefore, the position of the separator after it has moved within the display area is the position of the boundary between the first and second windows after the change. Thus, the display area can be re-divided based on the position of the separator, and the re-divided display areas correspond to the changed first and second windows respectively. This process of determining the changed position and size of the first and second windows based on the position of the separator is equivalent to determining the changed position and size of the first and second windows based on their boundary after the change.
[0120] In some embodiments, the target distance between the intersection of the first and second windows after their transformation and the target border can be calculated first. The target border is the first border in the display area perpendicular to the direction of movement of the separator. Then, based on the target distance and the size of the display area, the positions and sizes of the first and second windows after their transformation are determined. The above process can be referred to steps S1701-S1702, and will not be repeated here.
[0121] Based on the changed positions and sizes of the first and second windows, the changed positions and sizes of the focus window can be determined. The changed positions and sizes of the focus window can be directly used as the changed positions and sizes of the focus frame.
[0122] S1904, based on the changed positions and sizes of the first and second windows, display the changed first and second windows, and based on the changed positions and sizes of the focus box, display the changed focus box.
[0123] The display device 200 displays the changed first and second windows according to their changed positions and sizes, and displays the changed focus frame according to its changed position and size. At this time, the changed focus frame can still be accurately displayed above the changed focus window, and its size matches the changed focus window. Therefore, it is possible to scale the focus window based on the separator, and to dynamically adjust the focus frame based on the scaling of the focus window.
[0124] Let's take the example of a user moving the spacer 2003 using the mouse. If the user wants to expand the first window 2001, the movement command they input would be to move the spacer 2003 to the right. Figure 20As shown in Figure ②, after the spacer 2003 moves a distance 'a', the first window 2001 and the second window 2002 are adjusted based on the moved spacer 2003. Specifically, the first window 2001 is equivalent to expanding horizontally to the right by 'a', while the second window 2002 is equivalent to shrinking horizontally to the right by 'a'. The focus box 2004 changes accordingly based on the changed position and size of the first window 2001, as shown below. Figure 20 As shown in ②, the changed focus box 2004 is still displayed on the changed first window 2001, and its size matches that of the changed first window 2001.
[0125] In this embodiment, the DividerView can override the onTouch callback method. When the user swipes the DividerView with the mouse, this callback method is triggered. Upon detecting the swipe, the DividerView calculates the swipe distance. final int position = mSplitLayout.getDividePosition() + touchPos –mStartPos; Afterwards, DividerView will notify the system to update the size of the first and second windows using the WindowContainerTransaction method.
[0126] In the onTouch callback method of DividerView, after recognizing the touch event as a MotionEvent.ACTION_MOVE, the swipe distance is calculated, and then a notification is sent to the split-screen application, along with the calculated swipe distance.
[0127] After the split-screen application obtains the calculated value, it also uses WindowManager to directly update the size of the focus box.
[0128] After the first and second windows are displayed in a split-screen mode, users may move the focus from the currently focused window to other windows by clicking application buttons, using voice commands, or using peripherals, i.e., switching the focus window, in order to operate on the application in the switched focus window. The display device 200 can periodically detect the application stack and promptly add a display focus frame to the window that actually occupies the focus.
[0129] After displaying the first and second windows in a split-screen mode, the display device 200 creates a process for periodically detecting the application stack. The application stack corresponds to the first and second applications currently displayed in the split-screen mode. The display device 200 can manage each application stack in the form of an application stack list. The first application stack is the application stack corresponding to the application that actually occupies the focus, that is, the application stack corresponding to the application within the actual focus window.
[0130] Display device 200 can be in accordance with Figure 21 The illustrated process performs periodic checks on the application stack. The display device 200 can control the periodic check cycle of the application stack using a timer. After initiating the periodic application stack check, the display device 200 checks the application stack according to a preset cycle. During the check, the display device 200 obtains an application stack list and retrieves the first application stack in the list. This first application stack indicates the application currently occupying focus, i.e., the application within the focus window that should be displayed. The display device 200 determines whether the application indicated by the first application stack matches the application currently in the focus window. If they match, it means that the window containing the focus frame is the one used to display the application indicated by the first application stack. If they do not match, it means that the window containing the focus frame is not used to display the application indicated by the first application stack, i.e., the focus frame is not displayed on the window containing the application indicated by the first application stack, and the focus frame is displayed in an incorrect position. The focus frame needs to be updated and displayed on the window containing the application indicated by the first application stack. Based on the above process, it can be ensured that the display device 200 promptly updates and displays the focus frame on the window containing the application actually occupying focus, thus accurately indicating the focus window to the user.
[0131] The process of updating the focus box can be handled by... Figure 11 The system architecture diagram shows the TaskCheckListener implementation. ActivityManager provides the getRunningTasks method, which accepts a maximum integer value as a parameter and returns a list of RunningTaskInfo items, representing the list of running tasks. The first item in this list is the application currently in focus. TaskCheckListener starts a scheduled task to check the first item and compare it with the application currently in focus to determine whether to update the focus box position.
[0132] based on Figure 21 As shown in the process, if the user switches the focus window, the display device 200 can follow... Figure 22 The process for switching focus windows is shown below. S2201, in response to a user-input command to switch the focus window, displays the focus in the switched focus window and modifies the first application in the application stack list to the application displayed in the switched focus window.
[0133] like Figure 23 As shown in Figure ①, the display device 200 displays a first window 2301 and a second window 2302 in a split-screen manner. The first window 2301 displays the screen of a first application, and the second window 2302 displays the screen of a second application. The first window 2301 is the focus window, displaying focus 2303, and a focus frame 2304 is displayed above it. The user can input a switching command using the mouse to indicate that the focus should be moved to the second window 2302. The display device 200 responds to this switching command as follows: Figure 23 As shown in ②, the focus 2303 is displayed in the second window 2302, and the first application stack in the application stack list is modified to the application stack corresponding to the second application, so as to indicate that the application that actually occupies the focus is the second application.
[0134] S2202, according to a preset cycle, detect whether the first application in the application stack list and the focus window where the focus box is located correspond to the same application.
[0135] After the display device 200 displays the first window 2301 and the second window 2302 in a split-screen manner, it initiates a process of periodically detecting the application stack, based on... Figure 21 The illustrated process involves periodically checking the application stack to determine if the focus box needs updating. This check process can be referenced in the section above. Figure 21 The process illustrated will not be repeated here.
[0136] S2203, if it corresponds to different applications, the focus box will be displayed on the window of the application corresponding to the first application stack.
[0137] Based on this detection process, the display device 200 can detect that the first application stack (i.e., the second application) and the application (i.e., the first application) currently located in the first window 2301 where the focus box 2304 is located are not the same application, and determine that the focus box 2304 needs to be updated. Figure 23 As shown in ③, the focus box 2304 is displayed on the second window 2302.
[0138] When the focus moves to the other window, after determining the updated layout parameters of the focus box, you can update the layout parameters of the focus box by calling the WindowManager's updateViewLayout method, for example: WindowManager.updateViewLayout(focusWindow, MLayoutParams), and then update the display of the focus box based on the updated layout parameters.
[0139] When an information prompt box appears in the application within the focus window, the display device 200 can respond accordingly. Figure 24 The process shown displays this message prompt box. The specific steps are as follows: S2401 listens for display messages from the application within the focused window.
[0140] The application's display message is used to indicate the display of an information prompt box. Information prompt boxes can be system pop-ups, such as toasts.
[0141] S2402, if a display message is detected, display the message prompt box above the focus box.
[0142] If the display device 200 detects a display message, the display device 200 will proceed as follows: Figure 25 The message box is displayed as shown. Figure 25 As shown, taking a gradual increase in display hierarchy from bottom to top as an example, the display device 200 displays a first window 2501 and a second window 2502 in a split-screen manner at a lower display hierarchy. The first window 2501 displays the screen of the first application, and the second window 2502 displays the screen of the second application. A focus frame 2503 is displayed at a higher display hierarchy, and the position and size of the focus frame 2503 match those of the first window 2501. If the display device 200 detects a message indicating that the first application is displaying a pop-up window 2504, it displays the pop-up window 2504 at the highest display hierarchy. Therefore, the displayed pop-up window 2504 will not be obscured or affected by the focus frame 2503.
[0143] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the discussion in some embodiments is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the contents of this disclosure, thereby enabling those skilled in the art to better utilize the embodiments.
Claims
1. A display device, characterized in that, include: The display is configured to show the first screen of the first application within a first window; The controller is configured as follows: In response to a user's split-screen command, the display is controlled to add a second window, and the first screen of the first application is displayed in the first window, and the second screen of the second application is displayed in the second window; Identify the focus window that occupies focus in the first window and the second window; The display is controlled to display a focus frame above the focus window. The focus frame is a frame-shaped window, and the position and size of the focus frame match the position and size of the focus window. In response to a user-inputted command to switch the focus window, the focus is displayed in the switched focus window, and the first application in the application stack list is modified to the application displayed in the switched focus window, wherein the application stack list includes the first application and the second application; According to a preset period, it is detected whether the first application stack in the application stack list and the focus window where the focus box is located correspond to the same application; If they correspond to different applications, the display is controlled to show the focus box on the window of the application corresponding to the first application stack.
2. The display device according to claim 1, characterized in that, The controller, responding to a user-inputted split-screen command, controls the display to add a second window, and displays the first screen of the first application within the first window, and the second screen of the second application within the second window, configured as follows: In response to the split-screen command, the display is controlled to show a split-screen application list, which includes items of the second application. In response to a user's selection command based on an item input in the second application, the display is controlled to add and display the second window, and the first screen of the first application is displayed in the first window, and the second screen of the second application is displayed in the second window.
3. The display device according to claim 1, characterized in that, The controller, responding to a user-inputted split-screen command, controls the display to add a second window, and displays the first screen of the first application within the first window, and the second screen of the second application within the second window, configured as follows: In response to the split-screen instruction, the second application associated with the first application is obtained, wherein the split-screen display of the first application and the second application is used to implement the preset function of the first application; The system controls the display to add and display the second window, and displays the first screen of the first application within the first window, and displays the second screen of the second application within the second window.
4. The display device according to claim 1, characterized in that, The controller controls the display to display a focus box on the border of the focus window, and is configured as follows: The position of the focus window, the size of the display area of the monitor, the preset screen ratio between the first window and the second window, and the arrangement of the first window and the second window are obtained. The size of the focus window is determined based on the size of the display area, the preset screen ratio, and the arrangement of the first window and the second window; The position of the focus frame is determined based on the position of the focus window, and the size of the focus frame is determined based on the size of the focus window; The display is controlled to show the focus frame based on the position and size of the focus frame.
5. The display device according to claim 4, characterized in that, The controller is also configured to: In response to a zoom command input by the user, the target distance between the intersection of the first window and the second window and the target border is determined based on the size of the display area, the preset split-screen ratio, and the size that changes in the zoom direction. The target border is the first border in the display area that is perpendicular to the zoom direction. Based on the size of the display area and the target distance, determine the changed positions and sizes of the first window and the second window, and based on the changed positions and sizes of the focus window, determine the changed positions and sizes of the focus frame; Based on the changed positions and sizes of the first and second windows, the display is controlled to show the changed first and second windows, and based on the changed positions and sizes of the focus frame, the display is controlled to show the changed focus frame.
6. The display device according to claim 4, characterized in that, The controller is also configured to: Control the display to show a separator at the boundary between the first window and the second window; In response to a user's movement command based on the spacer, the spacer is moved, and the position of the spacer after movement within the display area is obtained; Based on the position of the spacer after it has moved within the display area, determine the changed position and size of the first window and the second window, and based on the changed position and size of the focus window, determine the changed position and size of the focus frame; Based on the changed positions and sizes of the first and second windows, the display is controlled to show the changed first and second windows, and based on the changed positions and sizes of the focus frame, the display is controlled to show the changed focus frame.
7. The display device according to claim 1, characterized in that, The controller is also configured to: Set the focus box to be trusted by the system; In response to an operation command input by the user on the application within the focus window based on the focus box, the operation command is transmitted to the application within the focus window.
8. The display device according to claim 1, characterized in that, The controller is also configured to: Listen for display messages from the application within the focused window, the display messages being used to instruct the display of information prompt boxes; If the display message is detected, control the display to show the information prompt box above the focus box.
9. A multi-window display method, characterized in that, Applied to a display device as described in any one of claims 1-8, wherein the display device displays a first screen of a first application within a first window; The method includes: In response to a user's split-screen command, the display is controlled to add a second window, and the first screen of the first application is displayed in the first window, and the second screen of the second application is displayed in the second window; Identify the focus window that occupies focus in the first window and the second window; The display is controlled to display a focus frame above the focus window. The focus frame is a frame-shaped window, and the position and size of the focus frame match the position and size of the focus window. In response to a user-inputted command to switch the focus window, the focus is displayed in the switched focus window, and the first application in the application stack list is modified to the application displayed in the switched focus window, wherein the application stack list includes the first application and the second application; According to a preset period, it is detected whether the first application stack in the application stack list and the focus window where the focus box is located correspond to the same application; If they correspond to different applications, the display is controlled to show the focus box on the window of the application corresponding to the first application stack.
Citation Information
Patent Citations
Application window display method and terminal
CN113485627A
Resource synchronous playing method and display equipment
CN113965785A
Method for displaying multiple windows in split-screen mode, and electronic equipment
CN114089882A