Method for displaying non-full-screen window and related equipment

By recording user interaction information to determine the display position of non-full-screen windows, the problem of non-full-screen window display not meeting user needs is solved, and a more efficient multi-window operation experience is achieved.

CN121597316APending Publication Date: 2026-03-03HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411141096.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-19
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

In existing technologies, the display position of non-full-screen windows does not meet user needs, causing users to have to jump around or operate back and forth between multiple windows, obscuring important content and reducing user experience.

Method used

By recording user interaction information within a preset time period, the display position of non-full-screen windows is determined, ensuring that they are located in or near the user's attention area. The window position is adjusted based on the user's operation trajectory and focus area to avoid random display.

Benefits of technology

It reduces the eye-tracking and operation switching load for users when switching between multiple windows, improves the user experience, conforms to user habits, and reduces unnecessary operating costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121597316A_ABST
    Figure CN121597316A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a method for displaying a non-full-screen window and related equipment, a first interface can be displayed on electronic equipment, and the first interface comprises a first window of a first application; within a first preset time period, receiving M first user operations of a user for the first window, and recording first interaction information; the first interaction information comprises position information corresponding to the M first user operations in the first window; in the process of displaying the first interface, receiving a first instruction; the first instruction is used for indicating to display a second window on the first interface, and the second window is a non-full-screen window of a second application; determining a first display position based on the first interaction information; and in response to the first instruction, displaying a second window on the first display position of the first interface. By implementing the embodiment of the invention, the eye movement and operation switching load of the user among multiple windows can be reduced, the operation cost of the user is effectively reduced, and the multi-window experience of the user can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of smart terminal technology, and in particular to methods and related devices for displaying non-full-screen windows. Background Technology

[0002] With the continuous development of computer technology, terminals such as mobile phones, tablets, and computers are able to perform more and more functions. Non-full-screen windows on terminals (such as floating windows and widgets) can effectively solve users' multitasking needs. However, the current display position of non-full-screen windows often does not meet users' needs. For example, if they appear too far away, users have to jump around or operate back and forth between multiple windows; or they may obscure important content on the underlying page, making it difficult for users to obtain information. Ultimately, users often need to perform additional repositioning operations on non-full-screen windows, resulting in a degraded user experience.

[0003] Therefore, how to display non-full-screen windows to better meet user needs and improve user experience is an urgent problem to be solved. Summary of the Invention

[0004] This application provides a method and related device for displaying non-full-screen windows, which reduces the eye movement and operation switching load of users between multiple windows, effectively reduces the user's operating costs, and can improve the user's multi-window experience.

[0005] In a first aspect, embodiments of this application provide a method for displaying a non-full-screen window, applied to an electronic device. The method includes: displaying a first interface, the first interface including a first window of a first application; receiving M first user operations on the first window within a first preset time period, and recording first interaction information; the first interaction information includes position information corresponding to the M first user operations within the first window; M is an integer greater than 0; receiving a first instruction; the first instruction instructing a second window to be displayed on the first interface, the second window being a non-full-screen window of a second application; determining a first display position based on the first interaction information; and, in response to the first instruction, also displaying the second window at the first display position on the first interface.

[0006] In this embodiment, before the electronic device receives the first instruction (the instruction to trigger the electronic device to display the second window), it records the location information of M user operations on the first window within a preset time period, i.e., the first interaction information. During the display of the first interface, if the electronic device receives the first instruction, it can determine the focus area on the first window based on the location information corresponding to these M user operations, i.e., the area currently being operated on or focused on within the first window. The user's attention is concentrated on this focus area, and the display position of the second window is determined based on the position of this focus area, ensuring that the second window is as close as possible to or within this focus area. Since the second window is a floating window, a small tool window, etc., it generally serves as a supplementary window to the first window, playing an auxiliary role. The second window is displayed as close as possible to or within this focus area, so the user does not need to deliberately search for it, which is more in line with user habits. This avoids randomly displaying the second window on the first interface, causing the display position of the second window to be too far from the area of ​​focus in the first window, requiring the user to make significant eye movements or back-and-forth operations between multiple windows. This reduces the user's eye movement and operation switching load between multiple windows, effectively reducing the user's operating costs and improving the user's multi-window experience.

[0007] In some embodiments, the first application is the focus application among one or more applications running on the electronic device; the first interface displays one or more application windows corresponding to one or more applications respectively, and the first window is the focus window among one or more application windows.

[0008] In this embodiment, since the second window is a floating window, a small toolbar window, etc., it generally serves as a supplementary window to the focus window, playing an auxiliary role. Therefore, the display position of the second window is determined according to the focus window corresponding to the focus application. This avoids randomly displaying the second window on the first interface, which would cause the display position of the second window to be too far from the area that the user focuses on in the focus window. This would require the user to make significant eye jumps or back-and-forth operations between multiple windows, thereby reducing the user's eye movement and operation switching load between multiple windows, effectively reducing the user's operating costs, and improving the user's multi-window experience.

[0009] In some embodiments, the first interaction information includes the coordinates of the operation positions of M first user operations.

[0010] In this embodiment, the first interaction information includes the coordinates of the operation positions of M first user operations. Subsequently, the display position of the second window can be determined based on the coordinates of the operation positions of the M first user operations, so as to avoid the second window being too far away from the area of ​​interest of the user in the first window, or obscuring important content on the first window, thereby improving the user experience.

[0011] In some embodiments, determining a first display position based on first interaction information includes: determining one or more first movement directions based on the first interaction information and the chronological order of M first user operations; the one or more first movement directions are used to indicate the movement trend of the M first user operations; and determining the first display position based on the one or more first movement directions.

[0012] In this embodiment, based on the location information corresponding to M first user operations and the temporal sequence of the M first user operations, one or more user operation movement trajectory directions within a first preset time period can be obtained, i.e., first movement directions. One or more first movement directions are used to indicate the movement trend of the M first user operations. Since this user operation movement trajectory direction is consistent with the user's eye movement direction, the display position of the second window can be determined based on this direction. For example, the second window can be set along the user operation movement trajectory direction, making its display position as consistent as possible with the user's eye movement direction. Since the second window is a floating window, a small tool window, etc., it generally serves as a supplementary window to the first window, playing an auxiliary role. The fact that the display position of the second window is as consistent as possible with the user's eye movement direction means the user doesn't need to deliberately search for it, which is more in line with user habits. This avoids randomly displaying the second window on the first interface, causing its display position to be too far from the area the user focuses on in the first window, requiring the user to make significant eye jumps or back-and-forth operations between multiple windows. This reduces the user's eye movement and operation switching load between multiple windows, effectively reducing the user's operational costs and improving the user's multi-window experience.

[0013] In some embodiments, the first display position is on the extension line of the first direction of movement.

[0014] In this embodiment, the first movement direction is consistent with the user's eye movement direction. The second window is displayed on the extension line of the first movement direction, so that the display position of the second window is as consistent as possible with the user's eye movement direction. This avoids randomly displaying the second window on the first interface, which would cause the display position of the second window to be too far away from the area of ​​focus of the user in the first window. This would require the user to make large eye jumps or back-and-forth operations between multiple windows, thereby reducing the user's eye movement and operation switching load between multiple windows, effectively reducing the user's operation cost, and improving the user's multi-window experience.

[0015] In some embodiments, determining a first display position based on one or more first movement directions includes: when M first user operations correspond to a first movement direction, determining a preset-size area passing through the extension line of the first movement direction as a first candidate area; and determining the first display position within the first candidate area.

[0016] In this embodiment, when M first user operations correspond to a first movement direction, it indicates that the user operation trajectory is unidirectional and the user's eye movement direction is regular. A preset-sized area passing through the extension line of the first movement direction is determined as the first candidate area, and the display position of the second window can be determined in this area. Since the first candidate area is consistent with the user's eye movement direction, the second window is placed in this first candidate area as much as possible, so the user does not need to deliberately search for the second window, which is more in line with the user's usage habits.

[0017] In some embodiments, determining a first display position in a first candidate area includes: determining whether the size of the first candidate area is greater than or equal to the size of the second window; if the size of the first candidate area is greater than or equal to the size of the second window, determining a first display position in the first candidate area; if the size of the first candidate area is less than the size of the second window, determining the first interaction positions of M first user operations within the first window based on first interaction information; and determining the first display position based on the first interaction point positions.

[0018] In this embodiment, if the size of the first candidate area is greater than or equal to the size of the second window, a first display position is determined within the first candidate area. If the size of the first candidate area is smaller than the size of the second window, it means that there is not a sufficiently large area within the first candidate area to display the second window. Then, based on the first interaction information, the orientations of the first interaction points corresponding to M first user operations are determined. The orientation of the first interaction points can be understood as the focal area on the first window, that is, the area within the first window that is currently being operated on or focused on. The user's attention is focused on this focal area. The display position of the second window is determined based on the position of this focal area, so that the second window is as close as possible to or within the focal area. The user does not need to deliberately search for the second window, which is more in line with the user's usage habits.

[0019] In some embodiments, determining the first display position in the first candidate area includes: determining a plurality of first candidate positions in the first candidate area; selecting the first candidate position with the lowest importance from the plurality of first candidate positions as the first display position; wherein the importance of the plurality of first candidate positions is related to the interface content, and the interface content includes one or more of the following: non-input controls, input controls with input, input controls without input, content that changes in real time with interaction, content that does not change in real time with interaction, and content that does not change; wherein the importance corresponding to non-input controls is higher than the importance corresponding to content that changes in real time with interaction, the importance corresponding to content that changes in real time with interaction is higher than the importance corresponding to input controls with input, the importance corresponding to input controls with input is higher than the importance corresponding to input controls without input, the importance corresponding to input controls without input is higher than the importance corresponding to content that does not change in real time with interaction, and the importance corresponding to content that does not change in real time with interaction is higher than the importance corresponding to content that does not change.

[0020] In this embodiment, multiple first candidate positions are determined in the first candidate area, and the first candidate position with the lowest importance is selected as the first display position from the multiple first candidate positions to avoid obscuring important content of the interface and causing difficulties in obtaining user information, thereby improving the user's multi-window experience.

[0021] In some embodiments, determining a first display position based on one or more first movement directions includes: when M first user operations correspond to multiple first movement directions, determining multiple second candidate positions on a first interface; selecting the second candidate position with the lowest importance from the multiple second candidate positions as the first display position; wherein the importance of the multiple second candidate positions is related to the interface content, and the interface content includes one or more of the following: non-input controls, input controls with input, input controls without input, content that changes in real time with interaction, content that does not change in real time with interaction, and content that does not change; wherein the importance corresponding to non-input controls is higher than the importance corresponding to content that changes in real time with interaction, the importance corresponding to content that changes in real time with interaction is higher than the importance corresponding to input controls with input, the importance corresponding to input controls with input is higher than the importance corresponding to input controls without input, the importance corresponding to input controls without input is higher than the importance corresponding to content that does not change in real time with interaction, and the importance corresponding to content that does not change in real time with interaction is higher than the importance corresponding to content that does not change.

[0022] In this embodiment of the application, when M first user operations correspond to multiple first movement directions, it indicates that the user operation trajectory is multi-directional and the user's eye movement direction is irregular. Therefore, multiple second candidate positions can be determined on the first interface, and the second candidate position with the lowest importance can be selected as the first display position from the multiple second candidate positions. This avoids obscuring important content of the interface, causing problems such as difficulty in obtaining user information, thereby improving the user's multi-window experience.

[0023] In some embodiments, when the interface content of the first interface is detected to be updated, the display position of the second window is redefined; or, the display position of the second window is redefined every preset time interval; or, when the first application is detected to be switched to another application, the display position of the second window is redefined; or, when the position of the first window is detected to have changed, the display position of the second window is redefined.

[0024] In this embodiment, the content of the first interface may change as the user operates. When an update to the content of the first interface is detected, the display position of the second window can be redefined to avoid obscuring important content of the current interface, thus improving the user experience. Alternatively, the user can customize the time for updating the position of the second window. After a preset time interval, the display position of the second window can be redefined to improve the user experience. Alternatively, when a switch to the first application is detected, i.e., a change in the focus application, the display position of the second window can be redefined based on the focus window corresponding to the new focus application, so that the second window is as close as possible to the focus area. This eliminates the need for the user to deliberately search for the second window, better aligning with user habits and improving the multi-window experience. Alternatively, when a change in the position of the first window is detected, the display position of the second window is redefined, and the second window changes with the position of the first window, keeping the second window as close as possible to the first window. This eliminates the need for the user to deliberately search for the second window, further improving the multi-window experience.

[0025] In a second aspect, an electronic device is provided, comprising: a memory and one or more processors; the memory is coupled to the one or more processors, the memory being used to store computer program code, the computer program code including computer instructions, and the one or more processors invoking the computer instructions to cause the electronic device to perform a method as described in the first aspect or any embodiment of the first aspect.

[0026] Thirdly, a computer-readable storage medium is provided, including instructions that, when executed on an electronic device, cause the electronic device to perform a method as described in the first aspect or any embodiment of the first aspect.

[0027] Fourthly, a computer program product is provided that, when run on a computer, causes the computer to perform the method as described in the first aspect or any of the embodiments of the first aspect.

[0028] Fifthly, a chip system is provided, the chip system including at least one processor for implementing the method of the first aspect or any embodiment of the first aspect described above. Attached Figure Description

[0029] Figure 1A A schematic diagram of the hardware structure of the electronic device 100 is shown.

[0030] Figure 1B This is a software structure block diagram of the electronic device 100 according to an embodiment of this application.

[0031] Figures 2A-2P A set of user interface diagrams provided for embodiments of this application.

[0032] Figures 3A-3G Another set of user interface diagrams provided for embodiments of this application.

[0033] Figure 4 This is a flowchart illustrating a method for displaying a non-full-screen window, as provided in an embodiment of this application.

[0034] Figure 5 This is a schematic diagram of a first interface provided in an embodiment of this application.

[0035] Figure 6 This is a schematic diagram of a focus area on a first window provided in an embodiment of this application.

[0036] Figures 7A-7C This is a schematic diagram of a set of first movement directions and interaction point directions provided for embodiments of this application.

[0037] Figure 8 This is a schematic diagram of a first candidate region provided in an embodiment of this application.

[0038] Figure 9 This is a schematic diagram illustrating how the display position of a second window is determined based on the orientation of an interaction point, as provided in an embodiment of this application.

[0039] Figure 10 This is a schematic diagram illustrating the interactivity of interface content provided in an embodiment of this application.

[0040] Figure 11 This is a schematic diagram illustrating the self-changing nature of interface content provided in an embodiment of this application.

[0041] Figure 12 This is a schematic diagram illustrating how a first interface is divided into multiple first regions, as provided in an embodiment of this application.

[0042] Figure 13 This is a schematic diagram illustrating how to determine a first display position from a plurality of first candidate positions, as provided in an embodiment of this application.

[0043] Figure 14 This is a schematic diagram illustrating the determination of a first display position from multiple candidate positions, as provided in an embodiment of this application.

[0044] Figure 15 This is a flowchart illustrating how to determine the display position of a second window based on the importance of the interface content, as provided in an embodiment of this application.

[0045] Figure 16 This is a schematic diagram illustrating how to determine a first display position from a plurality of second candidate positions, as provided in an embodiment of this application.

[0046] Figure 17 This is a schematic flowchart illustrating another method for displaying a non-full-screen window provided in an embodiment of this application.

[0047] Figure 18 This is a schematic flowchart illustrating another method for displaying a non-full-screen window provided in an embodiment of this application. Detailed Implementation

[0048] The technical solutions in the embodiments of this application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; the word "and / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0049] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0050] First, the electronic devices involved in the embodiments of this application will be introduced.

[0051] This application does not specifically limit the type of electronic device mentioned. Electronic devices can be portable electronic devices such as mobile phones, tablets, personal digital assistants (PDAs), wearable devices, and laptops. Exemplary embodiments of portable electronic devices include, but are not limited to, portable electronic devices running iOS, Android, Microsoft, or other operating systems. The aforementioned portable electronic devices can also be other portable electronic devices, such as laptops with touch-sensitive surfaces (e.g., touch panels). It should also be understood that in some other embodiments of this application, the electronic device may not be a portable electronic device, but rather a desktop computer with a touch-sensitive surface (e.g., a touch panel), or a smart television, etc.

[0052] In this application, the electronic device is equipped with a display screen, which can be used to display the interface content currently output by the electronic device system. The interface content may include the interface of the running application and system-level menus, and may specifically consist of the following interface elements: input interface elements, such as buttons, text input boxes, scroll bars, menus, etc.; and output interface elements, such as windows, labels, etc.

[0053] In this application, the display screen can be used to display a first interface, which can simultaneously display one or more windows. These windows may include a first window of a first application. The first application can be the currently running, focused application of the electronic device. A focused application is an active application, i.e., an application that the user is primarily interested in. The window corresponding to the focused application is the first window, also called the focus window, which refers to a window that is active, such as the window the user is currently operating. In addition to displaying the first window, after receiving a first instruction, the electronic device can also display a second window of a second application on the first interface. This second window is a non-full-screen information window, such as a floating window or a widget window. The first instruction is the instruction that triggers the electronic device to display the second window. The first instruction can be triggered by one or more user operations, automatically by the electronic device's system, or automatically by an application, etc.

[0054] In one possible implementation, the second window is overlaid on top of the first window. Here, when the display shows the first and second windows in an overlay, the second window can be transparent, meaning the user can see part of the content in the first window within the area of ​​the second window. Alternatively, the second window can be opaque, meaning the user cannot see the content in the first window within the area of ​​the second window; there is no restriction here. In this implementation, when the display shows the second window, the display can simultaneously show the first window, with the second window obscuring the first window.

[0055] In another possible implementation, when the display shows the first window, the area on the display where the second window is located is not used to display the first window, but instead used to display the second window. In this implementation, when the display shows the second window, the display can simultaneously display the first window, and the second window does not obscure the first window.

[0056] In this application, the display screen of the electronic device may be configured with a touch panel, that is, the display screen is a touch screen, which can be used to receive touch operations from users. Touch operations refer to operations in which the user's body parts or styluses directly contact the display screen. In some optional embodiments, the touch screen can also be used to receive hover touch operations from users, which refer to operations in which the user's hand hovers above the display screen without touching the display screen.

[0057] In some optional embodiments of this application, the touch screen of the electronic device can receive a user operation to trigger a first instruction to bring up a second window, and simultaneously display the first window and the second window on a first interface.

[0058] Figure 1A A schematic diagram of the hardware structure of the electronic device 100 is shown.

[0059] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0060] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0061] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.

[0062] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.

[0063] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0064] The charging management module 140 is used to receive charging input from the charger.

[0065] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance).

[0066] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0067] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization.

[0068] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1.

[0069] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194.

[0070] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, demodulates and filters the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, frequency modulate and amplify them, and then convert them into electromagnetic waves for radiation via antenna 2.

[0071] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0072] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0073] The display screen 194 is used to display images, videos, etc. In some embodiments, the electronic device 100 may include one or N display screens 194, where N is a positive integer greater than 1.

[0074] In some embodiments, the electronic device 100 may display the relevant user interface involved in displaying a non-full-screen window via a display screen 194.

[0075] Camera 193 is used to capture still images or videos. In some embodiments, electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.

[0076] Internal memory 121 may include one or more random access memories (RAM) and one or more non-volatile memories (NVM).

[0077] The external memory interface 120 can be used to connect to external non-volatile memory, thereby expanding the storage capacity of the electronic device 100. The external non-volatile memory communicates with the processor 110 through the external memory interface 120 to perform data storage functions. For example, music, video, and other files can be stored in the external non-volatile memory.

[0078] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.

[0079] Audio module 170 is used to convert digital audio information into analog audio signal output, and also to convert analog audio input into digital audio signal. Audio module 170 can also be used for encoding and decoding audio signals.

[0080] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.

[0081] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.

[0082] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C.

[0083] The 170D headphone jack is used to connect wired headphones.

[0084] Pressure sensor 180A is used to sense pressure signals and can convert the pressure signals into electrical signals. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A.

[0085] The gyroscope sensor 180B can be used to determine the motion attitude of the electronic device 100. In some embodiments, the angular velocity of the electronic device 100 about three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for image stabilization.

[0086] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.

[0087] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover. In some embodiments, when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover using the magnetic sensor 180D. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.

[0088] The 180E accelerometer can detect the magnitude of acceleration of electronic device 100 in various directions (typically three axes). When electronic device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the posture of electronic devices and applied to applications such as screen orientation switching and pedometers.

[0089] A distance sensor 180F is used to measure distance. Electronic device 100 can measure distance via infrared or laser. In some embodiments, during a shooting scene, electronic device 100 can utilize the distance sensor 180F to measure distance for rapid focusing.

[0090] The proximity sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED. The electronic device 100 emits infrared light outward through the LED. The electronic device 100 uses the photodiode to detect infrared reflected light from a nearby object. When sufficient reflected light is detected, it can be determined that an object is near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that no object is near the electronic device 100.

[0091] The ambient light sensor 180L is used to sense the brightness of ambient light. The electronic device 100 can adaptively adjust the brightness of the display screen 194 based on the sensed ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also work with the proximity sensor 180G to detect whether the electronic device 100 is in a pocket to prevent accidental touches.

[0092] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.

[0093] The 180J temperature sensor is used to detect temperature.

[0094] Touch sensor 180K, also known as a "touch device," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can then transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194.

[0095] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from vibrating bone fragments in the human vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals.

[0096] Buttons 190 include a power button, volume buttons, etc. Pressing the button on electronic device 100 can receive button input, generating key signal inputs related to user settings and function control of electronic device 100.

[0097] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback.

[0098] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.

[0099] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with or separate from the electronic device 100.

[0100] The electronic device can be a portable terminal device running iOS, Android, Microsoft, or other operating systems, such as a mobile phone, tablet computer, or wearable device. It can also be a non-portable terminal device such as a laptop computer or desktop computer with a touch-sensitive surface or touch panel. The software system of the electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This embodiment of the invention uses a layered Android system as an example to illustrate the software structure of the electronic device 100.

[0101] Figure 1BThis is a software structure block diagram of the electronic device 100 according to an embodiment of this application.

[0102] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android Runtime and system libraries, and the kernel layer.

[0103] The application layer can include a series of application packages.

[0104] like Figure 1B As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS.

[0105] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.

[0106] like Figure 1B As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.

[0107] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.

[0108] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.

[0109] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.

[0110] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection and disconnection).

[0111] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.

[0112] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.

[0113] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.

[0114] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.

[0115] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

[0116] System libraries can include multiple functional modules. For example: surface manager (surf3Ae manager), media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.

[0117] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.

[0118] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, 13A, AMR, JPG, and PNG.

[0119] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0120] A 2D graphics engine is a graphics engine for 2D drawing.

[0121] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.

[0122] The following example, using a scene of capturing a photograph, illustrates the workflow of the software and hardware of the electronic device 100.

[0123] When touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer retrieves the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking a touch click as an example, where the corresponding control is the camera application icon, the camera application calls the application framework layer's interface to launch the camera application, and then calls the kernel layer to launch the camera driver, capturing still images or videos through camera 193.

[0124] The following describes a series of user interfaces provided in the embodiments of this application, with reference to the accompanying drawings.

[0125] Figures 2A-2P The user interface involved when the electronic device 100 brings up the second window is shown.

[0126] The method for displaying the second window provided in this application is as follows: the electronic device 100 receives a first instruction and displays the second window in response to the first instruction. The second window is a non-full-screen window corresponding to the second application, such as a floating window or a widget window of the application.

[0127] Optionally, the electronic device 100 may receive and respond to one or more preset operations by the user on the first interface, triggering a first instruction to bring up a second window on the first interface.

[0128] Optionally, the system of electronic device 100 can automatically trigger the first instruction to bring up the second window on the first interface.

[0129] Optionally, the application installed on the electronic device 100 can automatically trigger the first instruction to bring up the second window on the first interface.

[0130] The following will be combined with the appendix Figure 2A – Figure 2L This example illustrates how a second window is brought up when an electronic device 100 receives multiple preset operations from a user on a first interface.

[0131] Example 1: Several preset operations include bringing up the application bar and selecting a second application from the application bar via touch. The second application is the application corresponding to the second window. Using electronic device 100 as a mobile phone and the second window as a floating window for illustration, in this example, electronic device 100 opens the application bar of the smart multi-window feature, through which the second window can be brought up.

[0132] Figures 2A-2E The diagram shows the user interface involved when the application bar of the smart multi-window is opened on the electronic device 100.

[0133] Figure 2A An exemplary user interface 20 on an electronic device 100 for displaying installed applications is shown.

[0134] like Figure 2A As shown, the user interface 20 displays one or more installed application icons, such as clock, calendar, gallery 203, memo 204, file manager, email, music, calculator, Huawei video, health, weather, browser, smart living, settings 201, voice recorder, match-3 game 202, camera, contacts, phone, and SMS. The electronic device 100 can respond to a user's touch operation on any application icon on the user interface 20 and display the corresponding application interface on the display screen 194. For example, the electronic device 100 can receive and respond to a user's touch operation on the settings 201 icon on the user interface 20 (i.e., the operation to enter the settings application), launch the settings application, and display the following on the display screen 194 of the electronic device 100: Figure 2B The user interface 21 shown.

[0135] like Figure 2B As shown, the user interface 21 displays controls for one or more function settings. For example, the user interface 21 may include controls for storage, security, smart assistant, accessibility 211, user and account, system and updates, and about the phone. It is understood that the controls involved in this application can be icons, windows, or a combination of windows and icons. The electronic device 100 can receive and respond to a user's touch operation on any function setting control on the user interface 21, displaying the corresponding function setting interface on the display screen 194, i.e., entering the setting interface of the corresponding function. For example, the electronic device 100 can receive and respond to a user's touch operation on the accessibility 211 control on the user interface 21 (i.e., entering accessibility), displaying on the display screen 194 of the electronic device 100... Figure 2C The user interface shown is 22.

[0136] like Figure 2CAs shown, the user interface 22 displays controls for one or more accessibility settings. For example, the user interface 22 may include controls for accessibility, travel assistance, one-handed mode, gesture control, smart multi-window 221, and scheduled power-on. The electronic device 100 can receive and respond to a user's touch operation on any of the accessibility settings controls on the user interface 22, displaying the corresponding accessibility settings interface on the display screen 194, or updating the status of the corresponding accessibility function on the user interface 22. For example, the electronic device 100 can receive and respond to a user's touch operation on the smart multi-window 221 control on the user interface 22 (i.e., the operation to enter the smart multi-window function), displaying on the display screen 194 of the electronic device 100... Figure 2D The user interface shown is 23.

[0137] like Figure 2D As shown, the user interface 23 displays one or more smart multi-window icons and one or more smart multi-window function setting controls. For example, the user interface 23 may include a smart multi-window application bar icon and a first switch control 231 corresponding to the smart multi-window application bar, a floating window position adjustment frequency icon and a first adjustment control 232 corresponding to the floating window position adjustment frequency, an application settings icon, and one or more application controls, such as memo 233, email, Huawei video, file management, browser, etc.

[0138] The electronic device 100 can receive and respond to the user's touch operation on the first switch control 231, and change the state of the first switch control 231. When the first switch control 231 switches from the closed state (e.g., the control is gray to indicate the closed state) to the open state (e.g., the control is black to indicate the open state), the electronic device 100 opens the smart multi-window application bar; when the first switch control 231 switches from the open state (e.g., the control is black to indicate the closed state) to the closed state (e.g., the control is gray to indicate the open state), the electronic device 100 closes the smart multi-window application bar.

[0139] Understandably, when the electronic device 100 activates the smart multi-window application bar, the user can access the application bar from any interface by performing an operation such as swiping inwards from the edge of the screen and pausing. The application bar can include controls for one or more applications that can be displayed as floating windows on the interface. Then, the user can select a second application from the application bar—that is, click on the application for which they want to activate a floating window—to trigger the first command, thereby displaying the corresponding application's floating window on the screen of the electronic device 100. This will be explained in detail later with reference to the accompanying drawings, and will not be elaborated upon here.

[0140] The electronic device 100 can receive and respond to a user's preset operation on the first adjustment control 232, such as an input operation or a scrolling adjustment operation, to uniformly set the adjustment frequency of the second window (i.e., the floating window corresponding to any application). For example, if the user sets the floating window position adjustment frequency to 3 minutes / time, then the uniform setting result is determined to be 3 minutes / time, meaning that every 3 minutes, the floating window of any application displayed on the screen will reposition itself. In this embodiment, the user can uniformly set the adjustment frequency of the second window position by performing a preset operation on the first adjustment control 232.

[0141] Optionally, the display position of the second window (such as a floating window) is determined based on user actions and / or content of the first window (also known as the focus window, i.e., the window corresponding to the focus application) within a preset time period. This avoids the second window appearing too far away, requiring users to jump around or operate back and forth between multiple windows; or it avoids obscuring important content in the first window, leading to difficulties in obtaining user information. This reduces the user's eye movement and operation switching load when switching between multiple windows, effectively reducing the user's operating costs and improving the user's multi-window experience. The method for determining the display position of the second window will be described in detail later and will not be elaborated upon here.

[0142] It should be noted that one or more application controls displayed on the user interface 23 are controls for applications that the electronic device 100 supports displaying on the interface in the form of floating windows.

[0143] Electronic device 100 can receive and respond to a user's touch operation on any application control on user interface 23, and display the corresponding application's personalization settings interface on display screen 194. For example, electronic device 100 can receive and respond to a user's touch operation on the memo 233 control on user interface 23 (i.e., the operation to enter the memo personalization settings), and display on display screen 194 of electronic device 100 such as... Figure 2E The user interface shown is 24.

[0144] like Figure 2E As shown, the user interface 24 displays one or more memo function setting icons and one or more memo function setting controls. For example, the user interface 24 may include an icon for enabling or disabling the floating window, and a second switch control 241 corresponding to the icon for enabling or disabling the floating window, an icon for adjusting the frequency of the application's personalized floating window position, and a second adjustment control 242 corresponding to the frequency of the application's personalized floating window position adjustment.

[0145] In this embodiment, the electronic device 100 can receive and respond to a user's touch operation on the second switch control 241, changing the state of the second switch control 241. When the second switch control 241 switches from a closed state (e.g., the control is grayed out to indicate a closed state) to an open state (e.g., the control is black to indicate an open state), the memo application is set to be allowed to appear on the interface as a floating window; when the second switch control 241 switches from an open state (e.g., the control is blacked out to indicate a closed state) to a closed state (e.g., the control is grayed out to indicate an open state), the memo application is set to be disabled from appearing on the interface as a floating window. In this embodiment, the user can personalize the settings for whether the application enables a floating window according to their needs. If the application enables a floating window, the application bar can include the control corresponding to that application.

[0146] The electronic device 100 can receive and respond to preset operations by the user on the second adjustment control 242, such as input operations or scrolling adjustments, to personalize the frequency of the floating window position adjustment for the application (i.e., the memo application). For example, the user can set the floating window position adjustment frequency for the memo application to be 1 minute / time based on the uniform setting, that is, 1 minute / time on top of 3 minutes / time, resulting in a final floating window position adjustment frequency of 4 minutes / time. If a memo floating window is displayed on the screen, its display position will be redefined every 4 minutes. In this embodiment, the user can personalize the floating window position adjustment frequency for each application according to their needs; that is, the floating window adjustment frequencies for different applications can be different or the same, improving the user experience.

[0147] Figures 2F-2J The diagram illustrates the user interface involved when the electronic device 100 brings up the floating window via the application bar.

[0148] When the application bar of the electronic device 100 is enabled in the smart multi-window mode, the user can bring up the application bar from any interface by performing an operation such as swiping inward from the edge of the screen and pausing. The user can then bring up the floating window of the application through the application bar. The following example illustrates how to bring up the application bar when the gallery application is running in the foreground on the electronic device 100.

[0149] like Figure 2F As shown, the user interface 20 displays one or more installed application icons. The electronic device 100 can respond to a user's touch operation on any application icon on the user interface 20, displaying the corresponding application interface on the display screen 194. For example, the electronic device 100 can receive and respond to a user's touch operation on the Gallery 203 icon on the user interface 20 (i.e., the operation to enter the Gallery application), launch the Gallery application, and display it in full screen on the display screen 194 of the electronic device 100. Figure 2G The user interface shown is 25.

[0150] like Figure 2G As shown, the user interface 25 displays a gallery window, which shows thumbnails of one or more images, as well as information such as the shooting or download time and location corresponding to the thumbnails. The electronic device 100 can receive and respond to the user's swipe-up or swipe-down operation to display other images in the gallery on the user interface 25.

[0151] In some embodiments, such as Figure 2H As shown, the operation to bring up the application bar can be an operation of swiping left in a preset area 251 and pausing for a preset duration. For example, the user interface 25 includes a preset area 251. If the electronic device 100 detects that the user swipes left in the preset area 251 and pauses for a preset duration, then the following will be displayed on the display screen 194: Figure 2I The user interface shown is 25.

[0152] like Figure 2I As shown, in response to a user's operation of swiping left within a preset area 251 and pausing for a preset duration, the electronic device 100 displays an application bar 252 on the user interface 25. The application bar 252 includes one or more application controls and an application control 2523 for adding applications. The one or more application controls may include controls for email, memos 2521, Huawei video 2522, file management, and browser.

[0153] The electronic device 100 can receive and respond to a user's touch operation on any application control (i.e., a touch operation to select a second application in the application bar), triggering a first instruction to display a floating window of the corresponding application on the user interface 25. For example, the electronic device 100 can receive and respond to a user's touch operation on the memo 2521 control, triggering a first instruction to display on the display screen 194 such as... Figure 2J The user interface 25 is shown. In this embodiment, the second application is a memo application. In response to the user's operation, the electronic device 100 first launches and runs the application, and then presents the new application in the form of a floating window on the user interface.

[0154] like Figure 2JAs shown, after the user touches the Memo 2521 control, the electronic device 100 triggers a first instruction. At this time, the first application is the Gallery application. The electronic device 100 determines the Gallery window on the user interface 25 as the first window, and then determines the display position of the first floating window 253 (i.e., the second window) according to the method for displaying non-full-screen windows provided in this application. This avoids the floating window appearing too far away, which would require the user to jump around or operate back and forth between multiple windows; or avoids obscuring important content of the first window, which would make it difficult for the user to obtain information. This reduces the user's eye movement and operation switching load between multiple windows, effectively reduces the user's operating cost, and improves the user's multi-window experience. The method for displaying non-full-screen windows provided in this application will be described in detail later, and will not be repeated here.

[0155] In some embodiments, the electronic device 100 can receive and respond to a user's touch operation on the application control 2523, and the application bar 252 can enter the application modification mode. After entering this mode, the user can add or delete applications in the application bar 252.

[0156] Example 2: Several preset operations include bringing up the application switching interface and a touch operation to open a floating window control on the application switching interface. Using electronic device 100 as a mobile phone and the second window as a floating window for illustration, this example demonstrates how electronic device 100 runs multiple applications and brings up the second window by switching application interfaces.

[0157] Figure 2K-Figure 2L The diagram illustrates the user interface involved when the electronic device 100 brings up a floating window by switching application interfaces.

[0158] When multiple applications are running on the electronic device 100, the user can switch between applications by bringing up the application switching interface. For example, by swiping up from the edge of the screen and pausing for a preset time, the application switching interface can be displayed on the electronic device 100, and the user can bring up the application's floating window through the application switching interface.

[0159] like Figure 2K As shown, the electronic device 100 is running a gallery application in the foreground, displaying a user interface 25 on the display screen 194. When the electronic device 100 detects a user swiping up from the edge of the screen and pausing for a preset duration, it displays an application switching interface on the display screen 194. This interface can display task cards for one or more applications running on the electronic device 100, as well as controls for opening floating windows for each application, such as... Figure 2L The user interface 26 shown includes a memo app among the various applications running on the electronic device 100.

[0160] like Figure 2LAs shown, the user interface 26 displays a task card 261 for the memo and a corresponding floating window control 262 for opening the memo. If the electronic device 100 detects a user's touch operation on the task card 261 for the memo, it switches applications and displays the memo application window in full screen on the display screen 194. If the electronic device 100 detects a user's touch operation on the floating window control 262 for opening the memo, it triggers a first instruction to display the floating window of the memo on the user interface 25, for example... Figure 2J The first floating window 253 is shown in the user interface 25.

[0161] It should be noted that the first application at this time is a gallery application. The electronic device 100 can determine the gallery window of the user interface 25 as the first window, and then determine the display position of the first floating window 253 (i.e. the second window) according to the method for displaying non-full-screen windows provided in this application. This avoids the floating window appearing too far away, which would require the user to jump around or operate back and forth between multiple windows; or avoids obscuring important content of the first window, which would make it difficult for the user to obtain information. This reduces the user's eye movement and operation switching load between multiple windows, effectively reduces the user's operating cost, and improves the user's multi-window experience.

[0162] The following will be combined with the appendix Figure 2M – Figure 2P This example illustrates how a second window is brought up when an electronic device 100 receives a preset operation from a user on a first interface.

[0163] Example 1: Preset operations include, but are not limited to, one or more of the following: swiping from the bottom of the screen to the top left of the screen, air gestures, and user-defined drawing operations.

[0164] Example 2: The preset operation is to open the application on the main interface. Using electronic device 100 as a computer and the second window as a widget window for illustration. In this example, electronic device 100 responds to the preset operation, triggers the first command, and brings up the second window.

[0165] Figure 2M-Figure 2P The user interface involved is shown when the electronic device 100 brings up a widget window in response to a preset operation.

[0166] Figure 2M An exemplary user interface 30 on an electronic device 100 for displaying installed applications is shown, which may be the main interface of the electronic device 100.

[0167] like Figure 2MAs shown, the user interface 30 displays one or more installed application icons, such as This PC, Slideshow, Video, Word 301, and Calculator 302. The electronic device 100 can respond to a user's double-click operation on any application icon on the user interface 30, displaying the corresponding application interface on the display screen 194. For example, the electronic device 100 can receive and respond to a user's double-click operation on the Word 301 icon on the user interface 30 (i.e., the operation of entering the Word application), launch the Word application, and display the corresponding application interface on the display screen 194 of the electronic device 100. Figure 2N The user interface 30 shown.

[0168] like Figure 2N As shown, in response to a user's double-click operation on the Word 301 icon in the user interface 30, the electronic device 100 displays a Word application window 303 on the user interface 30. For example, the Word application window 303 is presented on the display screen 194 of the electronic device 100 in a non-full-screen format. Optionally, the Word application window 303 can also be presented on the display screen 194 of the electronic device 100 in full-screen format. It should be noted that in this application, the presentation format of the application window initially presented on the user interface 30 is not specifically limited; it can be presented in a non-full-screen format or in full-screen format. The Word application window 303 includes multiple non-input controls and a first input area 3031. The electronic device 100 can receive and respond to the user's input operation on the first input area 3031, displaying the user-inputted information in the first input area 3031 of the user interface 30, such as... Figure 2O The user interface 30 shown.

[0169] like Figure 2O As shown, the electronic device 100 can respond to a user's double-click operation on the calculator 302. Currently, the first application is a Word application. The electronic device 100 can use the Word application window 303 as the first window, and then, according to the method for displaying non-full-screen windows provided in this application, determine the display position of the calculator application window (i.e., the second window). This avoids the second window appearing too far away, requiring the user to jump around significantly between multiple windows or operate back and forth; or, it avoids obscuring important content in the first window, leading to difficulties in obtaining user information. This reduces the user's eye movement and operation switching load between multiple windows, effectively reducing the user's operating costs and improving the user's multi-window experience. The method for displaying non-full-screen windows provided in this application will be described in detail later, and will not be repeated here. Furthermore, the electronic device 100 displays the calculator application window 304 on the user interface 30 according to the determined display position, for example... Figure 2P The user interface 30 shown.

[0170] like Figure 2P As shown, the calculator application window 304 on the user interface 30 includes a first preset control 3041. The electronic device 100 can receive and respond to the user's click operation on the first preset control 3041, and lock the calculator application window 304 as a second window, that is, a non-full-screen window whose position needs to be determined according to the first window.

[0171] It should be noted that the electronic device 100 supports displaying one or more non-full-screen windows on the display screen 194 at the same time. The above only illustrates the scenario of opening one non-full-screen window. The way to open multiple non-full-screen windows is similar to the way to open a single non-full-screen window, and will not be repeated here.

[0172] The above example illustrates how electronic device 100 can bring up a second window. The following will combine... Figures 2F-2G , Figure 2J , Figures 3A-3G This describes the user interface involved when the electronic device 100 displays the second window.

[0173] Scenario 1: An application is running in the foreground on electronic device 100. With the window corresponding to the application displayed on screen 194, a second window is then displayed.

[0174] Example 1: An electronic device 100 runs a gallery application in the foreground. With one gallery window displayed in full screen on the display screen 194, a second window is then displayed. This example uses a mobile phone as an example, with the second window being a floating window.

[0175] like Figure 2F As shown, the user interface 20 displays one or more installed application icons. The electronic device 100 can respond to a user's touch operation on any application icon on the user interface 20, displaying the corresponding application interface on the display screen 194. For example, the electronic device 100 can receive and respond to a user's touch operation on the Gallery 203 icon on the user interface 20 (i.e., the operation to enter the Gallery application), launch the Gallery application, and display it in full screen on the display screen 194 of the electronic device 100. Figure 2G The user interface shown is 25.

[0176] like Figure 2G As shown, the user interface 25 includes a full-screen gallery window that displays thumbnails of one or more images, as well as shooting or download time information, location information, etc., corresponding to the thumbnails of one or more images.

[0177] Furthermore, a second window can be brought up on the user interface 25 using any of the above-mentioned opening methods. For example, this second window could be the first floating window 253 of the memo app. In this scenario, the focused application is the gallery application, so the gallery window can be designated as the first window. Then, based on user actions and / or content of the first window within a preset time period, the display position of the first floating window 253 can be determined. For example, the determined display position of the first floating window 253 could be... Figure 2J The placement shown avoids the floating window appearing too far away, which would require users to jump around or operate back and forth between multiple windows; or it avoids obscuring important content in the first window, making it difficult for users to obtain information. This reduces the eye movement and operation load for users switching between multiple windows, effectively lowering user operating costs and improving the user's multi-window experience. The method for displaying non-full-screen windows provided in this application will be described in detail later, and will not be repeated here.

[0178] Optionally, the electronic device 100 can receive and respond to a user's swipe-up or swipe-down operation on any area of ​​the user interface 25 to display other pictures in the gallery window.

[0179] In some embodiments, when an update to the content of the first window is detected, the display position of the second window is redefined. Specifically, when a change in the content of the first window is detected, the electronic device 100 will redefined the display position of the second window based on the changed content of the first window and user operations on the first window within a preset time period. For example, when the electronic device 100 detects a change in the content of the gallery window in the user interface 25, the electronic device 100 will redefined the display position of the first floating window 253 based on the changed content of the gallery window and user operations on the gallery window within a preset time period.

[0180] For example, such as Figure 3A As shown, the electronic device 100 can receive and respond to a user's swipe-up operation on any area of ​​the user interface 25, resulting in a change in the image content displayed in the gallery window. That is, the content of the gallery window changes, but the focus application remains the gallery application. Therefore, the electronic device 100 can re-establish the gallery window with the changed content as the first window. Based on the changed content of the gallery window and the user's actions on the gallery window within a preset time period, the display position of the first floating window 253 is redefined. For example, the redefined display position might be... Figure 3A The position shown prevents the first floating window 253 from obscuring important content in the gallery window, thus improving the user experience.

[0181] In some embodiments, when a switch to the first application is detected, the electronic device 100 redetermines the display position of the second window. Switching the first application can be understood as the focused application being switched to another application. When the electronic device 100 receives and responds to a user operation, it switches the foreground application; for example, the electronic device 100 switches the foreground application to the SMS application, and the electronic device 100 displays the following on the display screen 194: Figure 3B The user interface 28 shown includes a full-screen SMS window and a first floating window 253. Specifically, when the first application switches from the Gallery application to the SMS application, for example through the above... Figure 2L The provided application switching interface allows for application switching. At this time, the focused application is the SMS application, and the SMS application window can be designated as the first window. The display position of the first floating window 253 can then be redefined based on the content of this SMS application window. For example, the determined display position could be... Figure 3B The position shown avoids obscuring important content in the first window, thus improving the user experience.

[0182] In some embodiments, the electronic device 100 may reposition the second window every preset time interval. This preset time interval may be system-set or user-defined. For example, the user can use the above-mentioned... Figure 2D The interface shown allows you to set a preset duration, and / or through the above... Figure 2E The interface shown is configured such that, assuming the preset duration is 4 minutes, the electronic device 100 will reposition the second window every 4 minutes.

[0183] Scenario 2: When multiple applications are running in the foreground on electronic device 100 and multiple windows are displayed on display screen 194, a second window is then displayed.

[0184] Example 1: In a split-screen scenario, where multiple windows are displayed on screen 194, a second window is shown. This is illustrated using an electronic device 100 as a mobile phone, with the second window being a floating window.

[0185] Figure 3C An exemplary user interface 29 is shown for a 100-screen scenario of an electronic device.

[0186] like Figure 3C As shown, user interface 29 displays multiple windows, including window 1 and window 2. Window 1 displays the dialog box content of the chat application, and window 2 displays the video playback content of the video playback application. In this example, the electronic device 100 runs two applications in the foreground: a chat application and a video playback application, displayed in windows 1 and 2 of user interface 29 respectively. Users can use these two applications running in the foreground in parallel, improving the user experience.

[0187] Furthermore, a second window can be brought up on the user interface 29 using any of the above methods. For example, this second window could be the first floating window 253 of the memo app. Since multiple applications can run concurrently in the foreground of the electronic device 100 in this scenario, it is necessary to first determine the focused application (i.e., the first application), which is the currently active application. For example, if the active application before bringing up the second window is a chat application, then the first application is the chat application, and the first window is window 1. Then, based on user actions and / or window content on the first window within a preset time period, the display position of the first floating window 253 is determined. For example, the determined display position of the first floating window 253 is... Figure 3D The placement shown avoids the floating window appearing too far away, which would require users to make significant eye jumps or back-and-forth operations between multiple windows; or it avoids obscuring important content in the first window, making it difficult for users to obtain information. This reduces the eye-tracking / operation switching load for users when switching between multiple windows and effectively lowers the user's operational costs, thereby improving the user's multi-window experience. The method for displaying non-full-screen windows provided in this application will be described in detail later, and will not be repeated here.

[0188] In some embodiments, after the electronic device 100 displays a floating window on the user interface 29, if the electronic device 100 detects user interaction with other windows, such as window 2 in the user interface 29, the focus application will switch from the original chat application to the video playback application. The electronic device 100 can switch the focus window to window 2. Then, the electronic device 100 can re-determine the display position of the first floating window 253 based on the latest focus window content and the user's interactions with the gallery window within a preset time period. For example, the re-determined display position might be... Figure 3E The position shown prevents the first floating window 253 from obscuring important content in window 2, thus improving the user experience.

[0189] Example 2: In a non-full-screen scenario, i.e., when two windows are displayed on screen 194, the second window is displayed. This is illustrated using electronic device 100 as a computer and the second window as a widget window.

[0190] In some embodiments, when the electronic device 100 supports the simultaneous display of multiple non-full-screen windows, and at least two non-full-screen windows are displayed on the user interface, the electronic device 100 may also use the two already displayed non-full-screen windows as the first window to determine the display position of the newly invoked non-full-screen window.

[0191] For example, such as Figure 3FAs shown, a second window can be displayed on the user interface 30 using any of the above methods, such as a browser window 305. In this embodiment, the first window can be a Word application window 303 and a calculator application window 304. Then, based on user operations and / or content of the first window within a preset time period, the display position of the browser window 305 is determined, for example, the determined display position of the browser window 305 is... Figure 3F The position shown avoids obscuring important content in the first window, thus improving the user experience.

[0192] In some embodiments, when the electronic device 100 detects that the user has adjusted the position of the first window, the electronic device 100 re-determines the display position of the second window based on the new position of the first window. For example, as... Figure 3G As shown, the electronic device 100 detects a user's drag operation on the Word application window 303, and the position where the user stops dragging is the current position of the Word application window 303, as shown. Figure 3G The position of the Word application window 303 is determined. In this embodiment, based on the new position of the Word application window 303, the display positions of the calculator application window 304 and the browser window 305 are redefined. For example, the redefined display position of the calculator application window 304 is... Figure 3G The browser window 305 is now displayed at the location shown. Figure 3G The position shown avoids obscuring important content in the first window, thus improving the user experience.

[0193] It is understood that the embodiments of this application provide two scenarios for displaying the second window, but the scenarios for displaying the second window are not limited to these two, and may also include other possible scenarios.

[0194] The following describes the method flow for displaying a non-full-screen window provided in the embodiments of this application.

[0195] Figure 4 This is a flowchart illustrating a method for displaying a non-full-screen window, as provided in an embodiment of this application.

[0196] like Figure 4 As shown, the method for displaying a non-fullscreen window may include:

[0197] S401: Display the first interface.

[0198] Specifically, the first interface includes a first window of a first application. The first interface can be displayed on the display screen 194 of the electronic device 100, and this first interface can display one or more windows, which correspond to one or more applications. Each window can display the content of one application. The first application is one of the one or more applications.

[0199] In some embodiments, the first application is the focus application among one or more applications running on the electronic device 100; the first interface displays one or more application windows corresponding to one or more applications respectively, and the first window is the focus window among one or more application windows.

[0200] Specifically, the featured application is the application that is actively used, i.e., the application that the user is primarily focused on. The window corresponding to the featured application is the first window, also known as the focus window, which refers to the active window, such as the window the user is currently interacting with. Since the second window is typically a floating window, a widget, etc., it generally serves as a supplementary window to the focus window, playing an auxiliary role. Therefore, the display position of the second window is determined based on the focus window corresponding to the featured application. This avoids the second window being too far from the area the user is focusing on within the focus window, which would require the user to make significant eye jumps or back-and-forth operations between multiple windows; or it avoids obscuring important content in the focus window, making it difficult for the user to access information. This reduces the user's eye movement and operation switching load when switching between multiple windows, effectively reducing the user's operational costs and improving the multi-window experience.

[0201] For example, as in Scenario 1 above, if an application is running in the foreground on electronic device 100, and a window corresponding to that application is displayed on the interface, then a second window can be displayed. In this scenario, the application currently running in the foreground on electronic device 100 can be designated as the focus application (i.e., the first application), and the window corresponding to this focus application is the first window. For details, please refer to the section above. Figures 2F-2G , Figure 2J The relevant descriptions will not be repeated here.

[0202] For example, in scenario two above, if multiple applications are running in the foreground of electronic device 100, and multiple windows are displayed on the interface, a second window needs to be shown. Since multiple applications can run in parallel in this scenario, the focus application—that is, the currently active application (e.g., the application active before the second window is displayed)—needs to be identified first, and the window corresponding to this focus application is designated as the first window. For details, please refer to the section above. Figure 3C , Figure 3F The relevant descriptions will not be repeated here.

[0203] S402: Within a first preset time period, receive M first user operations on the first window and record the first interaction information.

[0204] Specifically, the first interaction information includes the position information corresponding to M first user operations within the first window; M is an integer greater than 0. The M first user operations can include touch operations, swipe operations, input operations, click operations, double-click operations, etc. Each first user operation can correspond to a position.

[0205] Optionally, before the second window is displayed, if the first interface displays one or more windows, then within a first preset time period, such as 5 minutes, multiple first user operations on each window are received, and the first interaction information corresponding to each window is recorded. The one or more windows include the first window.

[0206] Optionally, the dwell time of each of the M first user operations is greater than a threshold.

[0207] In some embodiments, the first interaction information includes the coordinates of the operation positions of M first user operations.

[0208] Specifically, the first interaction information includes the coordinates of the operation positions of M first user operations. Subsequently, the display position of the second window can be determined based on the coordinates of the operation positions of M first user operations, so as to avoid the second window being too far away from the area of ​​focus of the user in the first window, or obscuring important content on the first window, thereby improving the user experience.

[0209] In some embodiments, a coordinate system is established with the first window as the reference frame to determine the operation position coordinates corresponding to M first user operations within the first window; and the first interaction information is determined based on the operation position coordinates corresponding to the M first user operations.

[0210] Specifically, each of the M first user operations can correspond to an interaction point. The electronic device 100 can establish a coordinate system with the first window as a reference frame and determine the coordinates of each interaction point, i.e., the operation position coordinates. For example, as... Figure 5 As shown, Figure 5This is a schematic diagram of a first interface provided in an embodiment of this application. Assuming the first window is a gallery application window, within a first preset time period, the electronic device 100 can receive and respond to three upward swipe operations from the user. Each first user operation can correspond to an interaction point, which can be the starting point of the upward swipe operation. A coordinate system is established with the gallery application window as the reference frame, for example, with the center point of the gallery application window as the origin. This determines the coordinates of the operation position of each first user operation, thereby allowing the determination of first interaction information based on each operation position coordinate. In this embodiment, by establishing a coordinate system with the first window as the reference frame, the first interaction information determined based on this coordinate system allows for a more convenient and faster determination of the display position of the second window based on the position of the first window. This avoids the second window being too far from the area of ​​interest in the first window or obscuring important content on the first window, thus improving the user experience.

[0211] S403: Receive the first instruction.

[0212] Specifically, the first instruction is used to instruct the display of a second window on the first interface. The second window is a non-full-screen window of the second application, such as a floating window or a widget window. The first instruction is the instruction to trigger the electronic device 100 to call up the second window.

[0213] In some embodiments, the electronic device 100 may receive and respond to one or more preset operations by the user on the first interface, triggering a first instruction to display a second window on the first interface. For details, please refer to the above... Figures 2A-2P The relevant descriptions will not be repeated here.

[0214] In other embodiments, the system of the electronic device 100 can automatically trigger a first instruction to bring up a second window on the first interface; or, an application installed on the electronic device 100 can automatically trigger a first instruction to bring up a second window on the first interface.

[0215] S404: Determine the first display position based on the first interaction information.

[0216] Specifically, since the first interaction information includes the location information corresponding to M first user operations within a first preset time period, the focus area on the first window can be determined based on this location information. This focus area is the area currently being operated on or focused on within the first window, and the user's attention is concentrated on it. The display position of the second window is then determined based on the location of this focus area, ensuring that the second window is within or near this focus area. Since the second window is typically a floating window, a small tool window, etc., it generally serves as a supplementary window to the first window, playing an auxiliary role. Displaying the second window within or near this focus area eliminates the need for the user to actively search for it, better aligning with user habits. This avoids randomly displaying the second window on the first interface, preventing it from being too far from the user's focus area in the first window, which would require significant eye movement or back-and-forth operation between multiple windows. This reduces the user's eye movement and operation switching load between multiple windows, effectively lowering the user's operational costs and improving the multi-window experience.

[0217] For example, such as Figure 6 As shown, Figure 6 This is a schematic diagram of a focal area on a first window provided in an embodiment of this application. Assuming the first window is a gallery application window, within a first preset time period, the electronic device 100 can receive and respond to three swipe-up operations from the user. The first user operation can be the swipe-up operation. Based on the position information corresponding to these three swipe-up operations, the upper right area can be determined as the focal area within the first window. Then, the display position of the second window can be determined according to the position of the focal area. The first display position of the second window can be within the focal area or near the focal area.

[0218] In some embodiments, determining a first display position based on first interaction information includes: determining one or more first movement directions based on the first interaction information and the chronological order of M first user operations; the one or more first movement directions are used to indicate the movement trend of the M first user operations; and determining the first display position based on the one or more first movement directions.

[0219] Specifically, the first movement direction can be understood as the direction of the user's movement trajectory. One or more first movement directions are used to indicate the movement trend of M first user operations. Based on the position information corresponding to the M first user operations and the temporal sequence of the M first user operations, one or more user operation movement trajectory directions within a first preset time period can be obtained. This user operation movement trajectory direction is consistent with the user's eye movement direction. The display position of the second window can be determined based on the user operation movement trajectory direction. For example, the second window can be set in the direction of the user operation movement trajectory, so that the display position of the second window is as consistent as possible with the user's eye movement direction. Since the second window is a floating window, a small tool window, etc., it is generally used as a supplementary window to the first window, playing an auxiliary role. The display position of the second window is as consistent as possible with the user's eye movement direction, so that the user does not need to deliberately look for the second window, which is more in line with the user's usage habits. This avoids randomly displaying the second window on the first interface, causing the display position of the second window to be too far away from the area of ​​focus of the user in the first window, so that the user needs to make large eye jumps or back-and-forth operations between multiple windows, thereby reducing the user's eye movement and operation switching load between multiple windows, effectively reducing the user's operation cost, and improving the user's multi-window experience.

[0220] In some embodiments, a user operation trajectory is determined based on the first interaction information and the corresponding time sequence; one or more first movement directions are determined based on the user operation trajectory.

[0221] Specifically, based on the location information corresponding to M first user operations and the time sequence of the M first user operations, the user operation trajectory within the first preset time period can be obtained. The user operation trajectory can be unidirectional or multidirectional, that is, the user operation trajectory can correspond to one or more first movement directions.

[0222] Optionally, the first movement direction (one or more, up / down / left / right) is determined based on the angle between the coordinates of each pair of operation positions. Specifically, the operation position coordinates P corresponding to the M first user operations are connected in chronological order. i (x,y), obtain the user operation trajectory Tra(P1P2,P2P3,...,P) n-1 P n ), and calculate the clock rotation angle for each segment of the trajectory to obtain the angle sequence A(P1, P2, ..., P). n Furthermore, the angle sequence A(P1, P2, ..., P) can be removed. n The extreme values ​​in () are used to obtain the angle sequence A'. Then, one or more first movement directions can be determined based on A'.

[0223] In some embodiments, the variance of the angle sequence is calculated, and it is determined whether the variance of the angle sequence is greater than a preset value; if it is greater, it indicates that the user operation trajectory is multi-directional, that is, there are multiple first movement directions; if it is less, it indicates that the user operation trajectory is unidirectional, that is, there is one first movement direction.

[0224] For example, Figures 7A-7C A set of schematic diagrams showing the first movement direction and interaction point direction provided for embodiments of this application are shown below. Figure 7A As shown, in this state, the multiple first movement directions corresponding to the M first user operations show no obvious pattern in the user operation trajectories, and it can also be determined that the orientation of the interaction points is irregular. For example... Figure 7B As shown, in this state, the M first user operations correspond to a first movement direction, which is to the right. Simultaneously, the interaction point's location can be determined to be on the left side of the window. For example... Figure 7C As shown, in this state, the M user actions correspond to a first movement direction, which is downwards. The interaction point is also determined to be on the left side of the window. It should be noted that the movement direction is not necessarily a positive angle (up, down, left, right); it can also be other directions.

[0225] In some embodiments, the first display position is on the extension line of the first direction of movement.

[0226] Specifically, the first movement direction is consistent with the user's eye movement direction, and the second window is displayed on the extension line of the first movement direction. This makes the display position of the second window as consistent as possible with the user's eye movement direction, avoiding random display of the second window on the first interface. This would prevent the display position of the second window from being too far away from the area of ​​focus of the user in the first window, which would require the user to make large eye jumps or back-and-forth operations between multiple windows. This reduces the user's eye movement and operation switching load between multiple windows, effectively reduces the user's operating cost, and improves the user's multi-window experience.

[0227] In some embodiments, determining a first display position based on one or more first movement directions includes: when M first user operations correspond to a first movement direction, determining a preset-size area passing through the extension line of the first movement direction as a first candidate area; and determining the first display position within the first candidate area.

[0228] Specifically, when M user actions correspond to a first movement direction, it indicates that the user's operation trajectory is unidirectional and the user's eye movement direction is regular. On the first interface, taking the coordinates of the last user action among the M user actions as the starting point, a pre-defined area along the extension line of the first movement direction is determined as the first candidate area. Since the first candidate area is consistent with the user's eye movement direction, the second window is displayed within this first candidate area as much as possible, so the user does not need to deliberately search for the second window, which is more in line with the user's usage habits.

[0229] For example, such as Figure 8 As shown, Figure 8 This is a schematic diagram of a first candidate region provided in an embodiment of this application. The first movement direction is upward. Taking the coordinates of the last operation position of the first user as the starting point, a preset-size area passing through the extension line of the first movement direction is determined as the first candidate region. Then, the first display position of the second window can be determined in the first candidate region. For example, the second window can be displayed in positions one, two, and three in the first candidate region. One of these positions can be selected as the display position of the second window.

[0230] Optionally, calculate the average movement distance Tra1 for each user operation trajectory segment, such as... Figure 8 As shown, the coordinates of the last operation position of the first user operation are moved by Tra1 distance along the first movement direction to obtain a new coordinate point. Taking the newly obtained coordinates as the starting point, the preset size area passing through the extension line of the first movement direction is determined as the first candidate area. This allows the distance of the next user operation trajectory to be reserved in the first movement direction without affecting the user operation of the first window.

[0231] In some embodiments, determining a first display position in a first candidate area includes: determining whether the size of the first candidate area is greater than or equal to the size of the second window; if the size of the first candidate area is greater than or equal to the size of the second window, determining a first display position in the first candidate area; if the size of the first candidate area is less than the size of the second window, determining the first interaction positions of M first user operations within the first window based on first interaction information; and determining the first display position based on the first interaction point positions.

[0232] Specifically, if the size of the first candidate area is greater than or equal to the size of the second window, it means that there is a sufficiently large area within the first candidate area to display the second window, and therefore the first display position of the second window can be determined within this first candidate area. If the size of the first candidate area is smaller than the size of the second window, it means that there is not a sufficiently large area within the first candidate area to display the second window. Then, based on the first interaction information, the orientation of the first interaction point corresponding to M first user operations is determined. The orientation of the first interaction point is the position of the interaction point relative to the first window, such as up, down, left, and right. The orientation of the first interaction point can be understood as the focus area on the first window, that is, the area within the first window that is currently being operated on or focused on. The user's attention is focused on this focus area. The display position of the second window is determined based on the position of this focus area, so that the second window is as close as possible to or within the focus area, and the user does not need to deliberately search for the second window, which is more in line with the user's usage habits.

[0233] For example, such as Figure 9 As shown, Figure 9 This is a schematic diagram of determining the display position of a second window based on the orientation of an interaction point, provided in an embodiment of this application. The first interface can be a user interface 29, the focus application can be a chat application, and the first window is window 1. Assuming that within a first preset time period, the electronic device 100 receives and responds to three input operations from the user, the first user operation can be this input operation. Based on the position information corresponding to these three input operations and the time sequence corresponding to these three input operations, the direction of the user operation movement trajectory (i.e., the first movement direction) within the first preset time period can be obtained as right. However, the size of the area on the extended line of the operation position coordinates of the last input operation (i.e., the area of ​​the first candidate area) is smaller than the size of the first floating window 253. Therefore, based on the position information of these three input operations, the orientation of the first interaction point corresponding to these three input operations is determined to be the lower left. Then, the display position of the first floating window 253 can be determined according to the orientation of the first interaction point, for example, the display position of the first floating window 253 can be any position in the lower left.

[0234] In some embodiments, determining the first display position in the first candidate area includes: determining a plurality of first candidate positions in the first candidate area; selecting the first candidate position with the lowest importance from the plurality of first candidate positions as the first display position; wherein the importance of the plurality of first candidate positions is related to the interface content, and the interface content includes one or more of the following: non-input controls, input controls with input, input controls without input, content that changes in real time with interaction, content that does not change in real time with interaction, and content that does not change; wherein the importance corresponding to non-input controls is higher than the importance corresponding to content that changes in real time with interaction, the importance corresponding to content that changes in real time with interaction is higher than the importance corresponding to input controls with input, the importance corresponding to input controls with input is higher than the importance corresponding to input controls without input, the importance corresponding to input controls without input is higher than the importance corresponding to content that does not change in real time with interaction, and the importance corresponding to content that does not change in real time with interaction is higher than the importance corresponding to content that does not change.

[0235] Specifically, multiple first candidate positions are determined in the first candidate area, and the first candidate position with the lowest importance is selected as the first display position to avoid obscuring important content of the interface and causing difficulties in obtaining user information, thereby improving the user's multi-window experience.

[0236] In some embodiments, determining a first display position based on one or more first movement directions includes: when M first user operations correspond to multiple first movement directions, determining multiple second candidate positions on a first interface; selecting the second candidate position with the lowest importance from the multiple second candidate positions as the first display position; wherein the importance of the multiple second candidate positions is related to the interface content, and the interface content includes one or more of the following: non-input controls, input controls with input, input controls without input, content that changes in real time with interaction, content that does not change in real time with interaction, and content that does not change; wherein the importance corresponding to non-input controls is higher than the importance corresponding to content that changes in real time with interaction, the importance corresponding to content that changes in real time with interaction is higher than the importance corresponding to input controls with input, the importance corresponding to input controls with input is higher than the importance corresponding to input controls without input, the importance corresponding to input controls without input is higher than the importance corresponding to content that does not change in real time with interaction, and the importance corresponding to content that does not change in real time with interaction is higher than the importance corresponding to content that does not change.

[0237] Specifically, when M first user operations correspond to multiple first movement directions, it means that the user operation trajectory is multi-directional and the user's eye movement direction is irregular. Therefore, multiple second candidate positions can be determined on the first interface, and the second candidate position with the lowest importance can be selected as the first display position. This avoids obscuring important content of the interface and causing difficulties in obtaining user information, thereby improving the user's multi-window experience.

[0238] In some embodiments, the first interface is divided into multiple first regions, and the importance score corresponding to each first region is determined according to the interface content of each first region.

[0239] Specifically, the first interface is the current underlying interface. The electronic device 100 can divide the first interface into multiple first areas. The interface content corresponding to different first areas may be different, and the importance of different interface contents is different. Therefore, the importance score can be determined according to the interface content of each first area. The higher the importance score, the more important the corresponding interface content is. Subsequently, the display position of the second window can be determined according to the importance score of the first area to avoid the second window obscuring important content of the underlying interface, which would lead to difficulties in obtaining user information. This reduces the user's eye movement and operation switching load between multiple windows, effectively reduces the user's operation cost, and improves the user's multi-window experience.

[0240] In some embodiments, the interface content includes one or more of the following: non-input controls, input controls with input, input controls without input, content that changes in real time with interaction, content that does not change in real time with interaction, and content that does not change. Specifically, the importance score corresponding to non-input controls is higher than the importance score corresponding to content that changes in real time with interaction; the importance score corresponding to content that changes in real time with interaction is higher than the importance score corresponding to input controls with input; the importance score corresponding to input controls with input is higher than the importance score corresponding to input controls without input; the importance score corresponding to input controls without input is higher than the importance score corresponding to content that does not change in real time with interaction; and the importance score corresponding to content that does not change in real time with interaction is higher than the importance score corresponding to content that does not change.

[0241] Specifically, different interface content can correspond to different importance scores, and the higher the importance score, the more important the corresponding interface content. The electronic device 100 can determine the importance score corresponding to each first area based on the interactivity and self-changeability of the current underlying interface content.

[0242] The interactivity of interface content refers to the possibility that certain content on the interface allows users to interact with it through some user action. For example... Figure 10 As shown, Figure 10This diagram illustrates the interactivity of an interface, as provided in an embodiment of this application. User operations include, but are not limited to, clicking, dragging, swiping, and typing. The interface content includes, but is not limited to, buttons, icons, lists, and windows; it only needs to possess "interactive" capabilities and does not depend on whether the user actually performs any interaction within a certain period of time.

[0243] The self-changing nature of interface content refers to the fact that some content on the interface changes in real time or has the potential to change in real time. For example... Figure 11 As shown, Figure 11 This is a schematic diagram illustrating the self-changing nature of interface content provided in an embodiment of this application. Real-time changes include, but are not limited to, changes that occur with user operations, changes that occur with system status or time, or changes that occur in the form of animations, videos, etc. The existence of "self-changing" capability is sufficient and does not depend on whether the interface content has actually changed over a period of time.

[0244] Based on interactivity and self-changeability, interface content can be categorized into several types. These include non-input controls, input controls with existing input, input controls without input, content that changes in real-time with interaction, content that does not change in real-time with interaction, and content that does not change. The importance score for non-input controls is higher than the importance score for content that changes in real-time with interaction; the importance score for content that changes in real-time with interaction is higher than the importance score for input controls with existing input; the importance score for input controls with existing input is higher than the importance score for input controls without input; the importance score for input controls without input is higher than the importance score for content that does not change in real-time with interaction; and the importance score for content that does not change in real-time with interaction is higher than the importance score for content that does not change. It should be noted that based on interactivity and self-changeability, interface content can also be categorized into other types.

[0245] For example, such as Figure 12 As shown, Figure 12This application provides a schematic diagram illustrating the division of a first interface into multiple first regions. Taking user interface 25 as an example, the user interface 25 can be divided into 8*14 first regions. The interface content corresponding to each first region may be different or the same. Further, based on interactivity and self-changeability, the interface content can be categorized into non-input controls, input controls with input, input controls without input, content that changes in real-time with interaction, content that does not change in real-time with interaction, and content that does not change. It is assumed that the importance score for non-input controls is 5, the importance score for input controls with input is 4, the importance score for input controls without input is 3, the importance score for content that changes in real-time with interaction is 2, the importance score for content that does not change in real-time with interaction is 1, and the importance score for content that does not change is 0. Subsequently, the display position of the second window can be determined based on the importance score of the first region, avoiding the second window obscuring important content of the underlying interface, thus preventing difficulties in obtaining user information. This reduces the user's eye movement and operation switching load between multiple windows, effectively reducing the user's operational costs and improving the user's multi-window experience.

[0246] In some embodiments, selecting the first candidate position with the lowest importance from the plurality of first candidate positions as the first display position, wherein each first candidate position corresponds to one or more first regions; includes: calculating the importance score corresponding to each first candidate position respectively, and determining the first candidate position with the lowest importance score as the first display position.

[0247] Specifically, after determining the first candidate area, multiple first candidate positions can be identified within the first candidate area based on the size of the window to be displayed (i.e., the second window). Since the first interface has been divided into multiple first areas according to the importance of the interface content, each first candidate position can correspond to one or more first areas. Then, the importance score corresponding to each first candidate position can be calculated separately. That is, the importance scores of one or more first areas corresponding to the first candidate position are summed to obtain the importance score corresponding to the first candidate position. The higher the importance score, the higher the importance of the interface content corresponding to the first candidate position; the lower the importance score, the lower the importance of the interface content corresponding to the first candidate position. The first candidate position with the lowest importance score is determined as the display position of the second window to avoid obscuring important content of the interface and causing difficulties in obtaining user information, thereby improving the user's multi-window experience.

[0248] For example, such as Figure 13 As shown, Figure 13This illustration provides a method for determining a first display position from multiple candidate positions in an embodiment of this application. Assume that three candidate positions (position 1, position 2, and position 3) are determined from the first candidate area based on the area of ​​the second window. Each candidate position corresponds to multiple first areas. The importance score for each candidate position is calculated. For example, candidate position 1 corresponds to 3*4 first areas, each with an importance score of 4, resulting in an importance score of 48. Candidate position 2 also corresponds to 3*4 first areas, each with an importance score of 4, resulting in an importance score of 48. Candidate position 3 corresponds to 3*4 first areas, each with an importance score of 4, resulting in an importance score of 48. The candidate position with the lowest importance score can be determined as the display position of the second window, avoiding obscuring important content and preventing difficulties in obtaining user information, thereby improving the user's multi-window experience. However, in this example, the three candidate positions have the same importance score; therefore, any one can be chosen as the display position of the second window.

[0249] In some embodiments, the display area of ​​the second window is expanded, and one or more candidate positions are redefined within the first candidate area; each candidate position corresponds to one or more first areas; the importance score corresponding to each candidate position is calculated respectively, and the candidate position with the lowest importance score is determined as the first display position.

[0250] For example, such as Figure 14 As shown, Figure 14 This embodiment of the application provides a schematic diagram of determining a first display position from multiple candidate positions. Assume the area of ​​the second window is enlarged, and three candidate positions are determined within the first candidate area: candidate position 1, candidate position 2, and candidate position 3. Each candidate position corresponds to multiple first areas. The importance score for each candidate position is calculated. For example, candidate position 1 corresponds to 5*5 first areas, and its importance score is 83; candidate position 2 corresponds to 5*5 first areas, and its importance score is 82; candidate position 3 corresponds to 5*5 first areas, and its importance score is 81. The candidate position 3, with the lowest importance score, can be determined as the display position of the second window, avoiding obscuring important content of the interface and preventing difficulties in obtaining user information, thereby improving the user's multi-window experience.

[0251] In some embodiments, selecting the second candidate position with the lowest importance from the plurality of second candidate positions as the first display position, wherein each second candidate position corresponds to one or more first regions; includes: calculating the importance score corresponding to each second candidate position respectively, and determining the second candidate position with the lowest importance score as the first display position.

[0252] Specifically, when M first user operations correspond to multiple first movement directions, it indicates that the user operation trajectory is multi-directional and the user's eye movement direction is irregular. Therefore, multiple second candidate positions can be determined on the first interface based on the area of ​​the window to be displayed (i.e., the second window). Since the first interface has been divided into multiple first regions based on the importance of the interface content, each second candidate position can correspond to one or more first regions. Then, the importance score corresponding to each second candidate position can be calculated separately. That is, the importance scores of one or more first regions corresponding to the second candidate position are summed to obtain the importance score corresponding to the second candidate position. A higher importance score indicates a higher level of importance for the interface content corresponding to the second candidate position; a lower importance score indicates a lower level of importance for the interface content corresponding to the second candidate position. The second candidate position with the lowest importance score is determined as the display position of the second window, avoiding obscuring important interface content and preventing difficulties in obtaining user information, thereby improving the user's multi-window experience.

[0253] For example, such as Figure 15 As shown, Figure 15 This application provides a flowchart for determining the display position of a second window based on the importance of interface content. First, a preset non-full-screen information size, i.e., the size of the second window, is obtained. Using this size as the unit, the region with the lowest importance score (importance score = sum of all importance scores within the region) is selected. It is then determined whether only one region with the lowest score exists. If so, this region is selected as the final display position. If not, the importance scores of the surrounding areas of multiple regions with the lowest importance are calculated, and the region with the lowest score is selected. This process can be repeated multiple times until a unique region with the lowest score is obtained. If two or more regions with the lowest score consistently exist, the region closest to the lower right corner is selected as the final display position.

[0254] For example, such as Figure 16 As shown, Figure 16 This application provides a schematic diagram illustrating the determination of a first display position from multiple second candidate positions. Assume the first interface is the user interface 27 corresponding to a match-3 game application. Figure 16As shown in (a) in the example, within the first preset time period, the recorded location information of the M first user operations corresponds to multiple first movement directions, indicating that the user operation trajectory is multidirectional and the user's eye movement direction is irregular. Figure 16 As shown in (b), the electronic device 100 can first divide the user interface 27 into 9*8 first regions, and determine the importance score of the first region based on the interface content corresponding to each first region. Furthermore, as shown in [the diagram]... Figure 16 As shown in (b), multiple second candidate positions can be determined on the user interface 27 based on the size of the window to be displayed (i.e., the second window). Figure 16 (Only three are shown in the image). Then, the importance score corresponding to each second candidate position can be calculated separately. That is, the importance scores of one or more first regions corresponding to the second candidate position are accumulated to obtain the importance score corresponding to the second candidate position. For example, if the importance score of candidate position 1 is the lowest, then candidate position 1 is determined as the display position of the second window. Furthermore, as... Figure 16 As shown in (c), a second window can be displayed at candidate position 1, such as Huawei video window 271, to avoid obscuring important content on user interface 27 and causing difficulties in obtaining user information, thereby improving the user's multi-window experience.

[0255] In some embodiments, when the first interactive information cannot be obtained, multiple second candidate positions can be determined on the first interface based on the size of the second window; each of the multiple second candidate positions corresponds to one or more first regions; the importance score corresponding to each second candidate position is calculated respectively, and the second candidate position with the lowest importance score is determined as the first display position.

[0256] S405: In response to the first instruction, a second window is also displayed at the first display position of the first interface.

[0257] Specifically, once the display position of the second window is determined, it can be displayed in the first display position of the first interface.

[0258] In some embodiments, when an update to the interface content of the first interface is detected, the display position of the second window is redefined; or, the display position of the second window is redefined every preset time interval; or, when a switch to the first application is detected, the display position of the second window is redefined; or, when a change in the position of the first window is detected, the display position of the second window is redefined.

[0259] Specifically, the position of the second window is not fixed. When an update to the content of the first interface is detected, the display position of the second window can be redefined and displayed in the new position, as described above. Figure 3AThe descriptions suggest that the content of the first interface may change as the user interacts with it. Therefore, repositioning the second window can prevent it from obscuring important content and improve the user experience. Alternatively, the user can customize the timing of updating the second window's position; after a preset interval, the second window's position can be repositioned to further enhance the user experience. Or, when a switch to the first application is detected (i.e., a change in the focused application), the second window's position can be repositioned based on the new focused application's corresponding focus window, as described above. Figure 3B , Figure 3C , Figure 3D , Figure 3E The relevant descriptions aim to place the second window within or near the focus area, eliminating the need for users to actively search for it, thus better aligning with user habits and enhancing the multi-window experience. Alternatively, when a change in the position of the first window is detected, the display position of the second window is repositioned, as described above. Figure 3F , Figure 3G The description states that the second window changes position with the first window, keeping it as close as possible to the first window, so users don't need to actively search for it, thus improving the multi-window experience.

[0260] Optionally, when an update to the content of the first interface is detected, and the change in the content of the first interface is greater than a preset value, such as a change of more than 30%, the display position of the second window is redefined.

[0261] In some embodiments, when the electronic device receives a preset operation, it readjusts the display position of the second window. The preset operation includes, but is not limited to, switching the focused application, dragging the window position, typing content, etc.

[0262] Figure 17 This is a schematic flowchart illustrating another method for displaying a non-full-screen window provided in an embodiment of this application.

[0263] like Figure 17 As shown, the method for displaying a non-fullscreen window may include:

[0264] S501: New or repositioned non-full-screen information appears on the interface.

[0265] Specifically, the interface can be the first interface mentioned above; the non-full-screen information can be the second window mentioned above. While displaying the first interface, the electronic device receives a first instruction and can add non-full-screen information to the interface. For details, please refer to the above description of S403; it will not be repeated here.

[0266] In some embodiments, when an update to the content of the first interface is detected, the display position of the non-full-screen information is adjusted; or, the display position of the non-full-screen information is adjusted after a preset time interval; or, when a switch to the first application is detected, the display position of the non-full-screen information is adjusted; or, when a change in the position of the first window is detected, the display position of the non-full-screen information is adjusted. For details, please refer to the relevant description of S405, which will not be repeated here.

[0267] S502: Based on the interactivity and self-changeability of the current underlying interface content, distinguish the importance of the interface content.

[0268] Specifically, the current underlying interface can be the first interface mentioned above. For details, please refer to the relevant description of S404, which will not be repeated here.

[0269] S503: Based on the user's interaction point information over a period of time, determine the user's interaction movement direction and the position of the interaction point relative to its respective window.

[0270] Specifically, the interaction point information can be the first interaction information mentioned above; the user's interaction movement direction can be the first movement direction mentioned above; and the position of the interaction point relative to its window can be the first interaction point position mentioned above. For details, please refer to the relevant description of S404, which will not be repeated here.

[0271] S504: Based on the "visual easy switching principle", non-full-screen information is presented at a position that avoids important content in the direction of interactive movement or the location of interactive points.

[0272] For details, please refer to the relevant description of S404, which will not be repeated here.

[0273] S505: If user interaction point information cannot be obtained, important content cannot be avoided in irregular movement directions or in directions where vision is easily switched, then the non-full-screen information display position shall be selected according to the principle of "lowest regional importance".

[0274] For details, please refer to the relevant descriptions of S404 and S405, which will not be repeated here.

[0275] In summary, when non-full-screen information appears on the screen, the interaction direction or the position of the interaction point relative to the window is determined based on the user's interaction points over a period of time. The non-full-screen information is then placed along the extension of the interaction direction or at the location of the interaction point. After obtaining the user's interaction direction or the position of the interaction point relative to the window, the electronic device selects a location in these two directions that avoids important content to present the non-full-screen information. The interactivity and real-time changes of the interface content are used as criteria for determining the importance of the information. Furthermore, when user interaction point information cannot be obtained, the movement direction is irregular, or the interaction direction or position relative to the window cannot avoid important content, the area with the lowest content importance can be selected to place the non-full-screen information.

[0276] Figure 18 This is a schematic flowchart illustrating another method for displaying a non-full-screen window provided in an embodiment of this application.

[0277] like Figure 18 As shown, the method for displaying a non-fullscreen window may include:

[0278] S601: Obtain the sequence of interaction coordinates provided by the user over a period of time.

[0279] Specifically, the interaction coordinate sequence is determined with the center of the current window as the origin. For details, please refer to the relevant description of S402, which will not be repeated here.

[0280] S602: Based on a given time limit threshold, define the points where the dwell time is greater than the threshold as "dwelling points" and obtain the coordinate sequence P(x,y) of the dwelling points.

[0281] For details, please refer to the relevant description of S402, which will not be repeated here.

[0282] S603: Connect adjacent stopping points to obtain the movement path Tra(p1p2,p2p3,…,p n-1 p n ).

[0283] For details, please refer to the relevant descriptions of S402 and S404, which will not be repeated here.

[0284] S604: Calculate the clock rotation angle for each path segment (based on the 12 o'clock direction) to obtain the angle sequence A(p1,p2,…,p n ).

[0285] For details, please refer to the relevant description of S404, which will not be repeated here.

[0286] S605: Remove the extreme values ​​of sequence A to obtain sequence A'.

[0287] For details, please refer to the relevant description of S404, which will not be repeated here.

[0288] S606: Determine whether the variance of sequence A' is greater than the threshold.

[0289] For details, please refer to the relevant description of S404, which will not be repeated here. If not, it proves that there is a clear direction of interaction, then execute S607; if yes, it proves that there is no clear direction of interaction, then execute S619.

[0290] S607: Calculate the average value of sequence A' The average value of sequence Tra

[0291] For details, please refer to the relevant description of S404, which will not be repeated here.

[0292] S608: Determine the general direction of movement, and denote the direction of movement as A1.

[0293] Specifically, superior; right; Down; Left. For details, please refer to the relevant description of S404, which will not be repeated here.

[0294] S609: Calculate the remaining distance of Pn in the 90-degree direction near A1.

[0295] For details, please refer to the relevant description of S404, which will not be repeated here.

[0296] S610: Determine if the remaining distance is greater than the corresponding direction. In addition, the non-full-screen information is longer.

[0297] For details, please refer to the relevant description of S404, which will not be repeated here. If yes, then execute S611; otherwise, execute S614.

[0298] S611: Obtain all regions within the remaining distance where non-full-screen information can be placed, such that their distance from the center of Pn is less than [a certain value] in the direction of the center line. Non-full-screen information is long.

[0299] For details, please refer to the relevant description of S404, which will not be repeated here.

[0300] S612: Determine whether the regional importance score is less than the threshold.

[0301] For details, please refer to the relevant description of S404, which will not be repeated here. If yes, then execute S613; otherwise, execute S614.

[0302] S613: Select the position whose center distance is closest to Pn.

[0303] For details, please refer to the relevant description of S404, which will not be repeated here.

[0304] S614: Determine the position of the dwell point relative to the current window and record the content position as A2.

[0305] Specifically, if the movement direction is up or down, obtain the x-axis coordinate of Pn. If it is >0, select the right side for the content orientation; otherwise, select the left side. If the movement direction is left or right, calculate the y-axis coordinate of Pn. If it is >0, select the top side for the content orientation; otherwise, select the bottom side. For details, please refer to the relevant description of S404, which will not be repeated here.

[0306] S615: Calculate the remaining distance of Pn in the 90-degree direction near A2.

[0307] For details, please refer to the relevant description of S404, which will not be repeated here.

[0308] S616: Determine if the remaining distance is greater than the length of the non-full-screen information in the corresponding direction.

[0309] Specifically, if yes, then execute S617; otherwise, execute S619. For details, please refer to the relevant description of S404, which will not be repeated here.

[0310] S617: Obtain all regions in the remaining distance where non-full-screen information can be placed, such that the distance between these regions and the center of Pn is less than 1 / 2 the length of the non-full-screen information in the direction of the center line.

[0311] For details, please refer to the relevant description of S404, which will not be repeated here.

[0312] S618: Determine whether the regional importance score is less than the threshold.

[0313] Specifically, if yes, then execute S613; otherwise, execute S619.

[0314] S619: Determine the display position of non-fullscreen windows based on the region of lowest importance.

[0315] For details, please refer to the relevant description of S404, which will not be repeated here.

[0316] This application provides an electronic device including a processor configured to support the implementation of corresponding functions in any of the methods for displaying non-full-screen windows described above. The electronic device may also include a memory coupled to the processor, which stores necessary program instructions and data. The electronic device may further include a communication interface for communicating with other devices or communication networks.

[0317] This application provides a chip system including a processor for supporting an electronic device in implementing the functions described above, such as determining or processing information involved in the method for displaying a non-full-screen window. In one possible design, the chip system further includes a memory for storing necessary program instructions and data for the electronic device. This chip system may be composed of chips or may include chips and other discrete devices.

[0318] This application provides a computer program, characterized in that the computer program includes instructions that, when executed by a computer, cause the computer to perform the aforementioned method for displaying a non-full-screen window.

[0319] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0320] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0321] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical or other forms.

[0322] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0323] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0324] If the integrated units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which can be a personal computer, server, or network device, specifically a processor in the computer device) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium may include various media capable of storing program code, such as a USB flash drive, portable hard drive, magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM).

[0325] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A method for displaying a non-full-screen window, characterized in that, Applied to electronic devices, the method includes: Display a first interface, the first interface including a first window of the first application; Within a first preset time period, M user operations are received from the user on the first window, and first interaction information is recorded; the first interaction information includes the position information corresponding to the M user operations within the first window; M is an integer greater than 0; Receive a first instruction; the first instruction is used to instruct the display of a second window on the first interface, the second window being a non-full-screen window of the second application; Based on the first interaction information, the first display position is determined; In response to the first instruction, the second window is also displayed at the first display position on the first interface.

2. The method according to claim 1, characterized in that, The first application is the focus application among one or more applications running on the electronic device; the first interface displays one or more application windows corresponding to the one or more applications respectively, and the first window is the focus window among the one or more application windows.

3. The method according to claim 1, characterized in that, The first interaction information includes the coordinates of the operation positions of the M first user operations.

4. The method according to claim 1, characterized in that, Determining the first display position based on the first interaction information includes: Based on the first interaction information and the temporal sequence of the M first user operations, one or more first movement directions are determined; the one or more first movement directions are used to indicate the movement trend of the M first user operations. The first display position is determined based on the one or more first movement directions.

5. The method according to claim 4, characterized in that, The first display position is on the extension line of the first direction of movement.

6. The method according to claim 4 or 5, characterized in that, Determining the first display position based on the one or more first movement directions includes: When the M first user operations correspond to a first movement direction, a preset-size region passing through the extension line of the first movement direction is determined as the first candidate region; The first display position is determined in the first candidate region.

7. The method according to claim 6, characterized in that, Determining the first display position in the first candidate region includes: Determine whether the size of the first candidate region is greater than or equal to the size of the second window; If the size of the first candidate region is greater than or equal to the size of the second window, then the first display position is determined in the first candidate region; If the size of the first candidate region is smaller than the size of the second window, the first interaction position of the M first user operations within the first window is determined based on the first interaction information; the first display position is determined based on the first interaction point position.

8. The method according to any one of claims 6-7, characterized in that, Determining the first display position in the first candidate region includes: Multiple first candidate locations are determined within the first candidate region; Select the first candidate position with the lowest importance from the plurality of first candidate positions as the first display position; The importance of the plurality of first candidate positions is related to the interface content, which includes one or more of the following: non-input controls, input controls with input, input controls without input, content that changes in real time with interaction, content that does not change in real time with interaction, and content that does not change. The importance of non-input controls is higher than the importance of content that changes in real time with interaction; the importance of content that changes in real time with interaction is higher than the importance of input controls with input; the importance of input controls with input is higher than the importance of input controls without input; the importance of input controls without input is higher than the importance of content that does not change in real time with interaction; and the importance of content that does not change in real time with interaction is higher than the importance of content that does not change.

9. The method according to any one of claims 4-8, characterized in that, Determining the first display position based on the one or more first movement directions includes: When the M first user operations correspond to multiple first movement directions, multiple second candidate positions are determined on the first interface; The second candidate position with the lowest importance is selected from the plurality of second candidate positions as the first display position; The importance of the plurality of second candidate positions is related to the interface content, which includes one or more of the following: non-input controls, input controls with input, input controls without input, content that changes in real time with interaction, content that does not change in real time with interaction, and content that does not change. The importance of non-input controls is higher than the importance of content that changes in real time with interaction; the importance of content that changes in real time with interaction is higher than the importance of input controls with input; the importance of input controls with input is higher than the importance of input controls without input; the importance of input controls without input is higher than the importance of content that does not change in real time with interaction; and the importance of content that does not change in real time with interaction is higher than the importance of content that does not change.

10. The method according to any one of claims 2-9, characterized in that, The method further includes: When an update to the content of the first interface is detected, the display position of the second window is redefined; or, The display position of the second window is reset after a preset time interval; or, When the system detects that the first application has switched to another application, it redetermines the display position of the second window; or, When a change in the position of the first window is detected, the display position of the second window is redefined.

11. An electronic device, characterized in that, include: A memory, and one or more processors; the memory is coupled to the one or more processors, the memory being used to store computer program code, the computer program code including computer instructions, the one or more processors invoking the computer instructions to cause the electronic device to perform the method as described in any one of claims 1-10.

12. A chip system, characterized in that, The chip system includes at least one processor, a memory, and an interface circuit. The memory, the interface circuit, and the at least one processor are interconnected via circuits. The at least one memory stores instructions. When the instructions are executed by the processor, the method described in any one of claims 1-10 is implemented.

13. A computer-readable storage medium comprising instructions, characterized in that, When the instructions are executed on an electronic device, the electronic device causes the electronic device to perform the method as described in any one of claims 1-10.