Interaction-based display method, and apparatus
By employing tossing gestures and dragging operations at specific speeds and directions on foldable PCs, the problem of inconvenient window movement between different sub-screens has been solved, enabling rapid switching and extending device lifespan.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2026-01-08
- Publication Date
- 2026-07-16
AI Technical Summary
How to quickly move windows between different sub-screens when a foldable PC is in a folded state, avoiding physical damage to the folding axis area, improving user operation convenience and device lifespan.
By dragging on the first sub-screen, using short-distance and specific speed or direction tossing gestures, windows can be moved from the first sub-screen to the second sub-screen, avoiding crossing the folding axis area. This allows for quick window switching by combining mouse, touch, or non-contact gestures.
It enables quick movement of windows between different sub-screens, reduces physical damage to the folding axis area, extends the device's lifespan, and improves the user experience.
Smart Images

Figure CN2026071486_16072026_PF_FP_ABST
Abstract
Description
An interactive display method and apparatus
[0001] Cross-references to related applications
[0002] This application claims priority to Chinese Patent Application No. 202510047117.3, filed on January 9, 2025, entitled "An Interactive Display Method and Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of computer technology, and in particular to an interactive display method and apparatus. Background Technology
[0004] With the development of technology, the form and function of personal computers (PCs) have become increasingly diversified, and foldable PCs have emerged as a new type of PC device. A foldable PC includes a foldable display screen, and users can change its form by folding and unfolding it. When the foldable PC is in the folded state, the folded display screen can be considered as two logical sub-screens.
[0005] Foldable PCs support window repositioning. However, a key challenge is how to quickly move windows between different sub-screens when the PC is folded. Summary of the Invention
[0006] This application provides an interactive display method and apparatus for moving windows between different sub-screens based on quick user operations for foldable screen devices in a folded state.
[0007] In a first aspect, an interactive display method is provided, which can be applied to an electronic device having a foldable display screen. When the electronic device is in a folded state, the foldable display screen is folded into a first sub-screen and a second sub-screen. The method includes: displaying a first window in a display area of the first sub-screen; receiving a first operation by a user on the first sub-screen, the first operation being for dragging the first window, the dragging direction pointing towards the second sub-screen, and the end position of the drag being located on the first sub-screen; and, in response to the first operation, moving the first window from the display area of the first sub-screen to the display area of the second sub-screen.
[0008] In the above implementation, since the end position of the drag operation on the first window is located on the first sub-screen, that is, the drag operation has a short distance, the window can be moved more quickly and conveniently, and contact with the folding axis area can be avoided, thus reducing physical damage to the folding axis area and extending the service life of the electronic device.
[0009] In one possible implementation, moving the first window from the display area of the first sub-screen to the display area of the second sub-screen includes: moving the first window from the display area of the first sub-screen to the displayable area of the application window on the second sub-screen. The display area of the second sub-screen includes a Dock bar and a status bar, and the displayable area of the application window is the display area of the second sub-screen excluding the Dock bar and status bar.
[0010] In one possible implementation, after receiving the user's first operation on the first sub-screen, the method further includes: determining whether the drag speed and / or direction satisfies a first condition; and moving the first window from the display area of the first sub-screen to the display area of the second sub-screen in response to the first operation, which includes: if the drag speed and / or direction satisfies the first condition, then moving the first window from the display area of the first sub-screen to the display area of the second sub-screen in response to the first operation.
[0011] In the above implementation, the first window is moved only when the first operation meets the first condition, thereby avoiding accidental operation during travel.
[0012] In one possible implementation, the dragging speed and / or direction satisfies a first condition, including: the dragging speed is greater than or equal to a speed threshold; or, the angle between the dragging direction and a first reference line is less than or equal to an angle threshold, wherein the first reference line is a straight line on a first plane perpendicular to the folding axis of the foldable display screen, the first plane is the plane where the first sub-screen is located, or the first plane is parallel to the plane where the first sub-screen is located; or, the dragging speed is greater than or equal to the speed threshold, and the angle between the dragging direction and the first reference line is less than or equal to the angle threshold.
[0013] In one possible implementation, the first window is not displayed in full screen within the display area of the first sub-screen; after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is either displayed in full screen or in full screen within the display area of the second sub-screen.
[0014] In one possible implementation, the first window is displayed in full screen within the display area of the first sub-screen; after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed in full screen or not in full screen within the display area of the second sub-screen.
[0015] In one possible implementation, the first operation includes a start event, a move event, and an end event; after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed in full-screen mode within the display area of the second sub-screen, comprising: in response to the start event, the first window is selected and exits full-screen mode; in response to the move event, the first window that has exited full-screen mode is moved; in response to the end event, the first window is moved to the display area of the second sub-screen and the first window is restored to full-screen mode.
[0016] In one possible implementation, the first operation includes a start event, a move event, and an end event; after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed in full-screen mode within the display area of the second sub-screen, comprising: in response to the start event, the first window is selected; in response to the move event, when the moving distance is greater than or equal to a threshold (e.g., the threshold is the height of the status bar of the first window), the first window exits full-screen mode, and moves the first window that exited full-screen mode according to the move event; in response to the end event, the first window is moved to the display area of the second sub-screen, and the first window is restored to full-screen mode.
[0017] In one possible implementation, after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed centered in the display area of the second sub-screen; or, after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the relative position of the first window in the display area of the second sub-screen remains unchanged from its relative position in the display area of the first sub-screen.
[0018] In the above implementation, after the first window is moved to the second sub-screen, the first window is displayed in the center, which makes it easier for users to view and operate.
[0019] In one possible implementation, moving the first window from the display area of the first sub-screen to the display area of the second sub-screen includes: determining the position of the first window in the display area of the second sub-screen based on the association between first information and the window position; wherein the first information includes one or more of the following: the dragging speed, pressure, and direction; and displaying the first window at the position.
[0020] In the above implementation, after the first window moves to the second sub-screen, its position is related to one or more of the drag operation speed, pressure, and direction. In other words, the user can drag the first window according to the desired position using the corresponding drag speed, pressure, and / or direction, thereby improving the user experience.
[0021] One possible implementation further includes: after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, if the position of the first window changes within the display area of the second sub-screen during a first time period, then the association relationship is updated based on the changed position of the first window and the first information.
[0022] In the above implementation method, since user behavior can be learned, the matching degree between window dragging operation and user expectations can be improved, thereby improving the user experience.
[0023] In one possible implementation, if the height of the first window is greater than the height of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the upper edge of the first window coincides with the upper edge of the display area of the second sub-screen; and / or, if the width of the first window is greater than the width of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the left edge of the first window coincides with the left edge of the display area of the second sub-screen.
[0024] One possible implementation further includes: receiving a second operation from a user on the first sub-screen, the second operation being used to drag a second window displayed on the first sub-screen, the dragging direction pointing towards the second sub-screen, and the end position of the drag being located on the first sub-screen; in response to the second operation, moving the second window from the display area of the first sub-screen to the display area of the second sub-screen, and the second window being stacked on top of the first window and offset in position.
[0025] In one possible implementation, the second window is located on top of the first window.
[0026] In a second aspect, an electronic device is provided, comprising a unit or module for performing the method as described in any of the first aspects. Specifically, the electronic device may include a processing module and a display module. The display module is configured to display a first window in a display area of a first sub-screen; the processing module is configured to receive a first operation by a user on the first sub-screen, the first operation being for dragging the first window, the dragging direction pointing towards the second sub-screen, and the end position of the drag being located on the first sub-screen; in response to the first operation, the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen.
[0027] In one possible implementation, the processing module is further configured to: after receiving a first operation from the user on the first sub-screen, determine whether the speed and / or direction of the dragging satisfies a first condition; specifically, the processing module is configured to: if the speed and / or direction of the dragging satisfies the first condition, then in response to the first operation, move the first window from the display area of the first sub-screen to the display area of the second sub-screen.
[0028] In one possible implementation, the dragging speed and / or direction satisfies a first condition, including: the dragging speed is greater than or equal to a speed threshold; or, the angle between the dragging direction and a first reference line is less than or equal to an angle threshold, wherein the first reference line is a straight line on a first plane perpendicular to the folding axis of the foldable display screen, the first plane is the plane where the first sub-screen is located, or the first plane is parallel to the plane where the first sub-screen is located; or, the dragging speed is greater than or equal to the speed threshold, and the angle between the dragging direction and the first reference line is less than or equal to the angle threshold.
[0029] In one possible implementation, the first window is not displayed in full screen within the display area of the first sub-screen; after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is either displayed in full screen or in full screen within the display area of the second sub-screen.
[0030] In one possible implementation, the first window is displayed in full screen within the display area of the first sub-screen; after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed in full screen or not in full screen within the display area of the second sub-screen.
[0031] In one possible implementation, the first operation includes a start event, a move event, and an end event; the processing module is specifically configured to: in response to the start event, select the first window and exit full-screen mode; in response to the move event, move the first window that has exited full-screen mode; and in response to the end event, move the first window to the display area of the second sub-screen and restore the first window to full-screen mode.
[0032] In one possible implementation, after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed centered in the display area of the second sub-screen; or, after the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the relative position of the first window in the display area of the second sub-screen remains unchanged from its relative position in the display area of the first sub-screen.
[0033] In one possible implementation, the processing module is specifically used to: determine the position of the first window in the display area of the second sub-screen based on the association between the first information and the window position; wherein the first information includes one or more of the following: the dragging speed, pressure, and direction; and the display module is specifically used to: display the first window at the position.
[0034] One possible implementation further includes: the processing module is also configured to: after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, if the position of the first window changes within the display area of the second sub-screen within a first time period, update the association relationship based on the changed position of the first window and the first information.
[0035] In one possible implementation, if the height of the first window is greater than the height of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the upper edge of the first window coincides with the upper edge of the display area of the second sub-screen; and / or, if the width of the first window is greater than the width of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the left edge of the first window coincides with the left edge of the display area of the second sub-screen.
[0036] In one possible implementation, the processing module is further configured to: receive a second operation by the user on the first sub-screen, the second operation being used to drag a second window displayed on the first sub-screen, the dragging direction pointing towards the second sub-screen, and the end position of the drag being located on the first sub-screen; in response to the second operation, move the second window from the display area of the first sub-screen to the display area of the second sub-screen, and the second window is stacked on top of the first window and offset in position.
[0037] In one possible implementation, the second window is located on top of the first window.
[0038] Thirdly, an electronic device is provided, comprising: one or more processors configured to perform the method as described in any one of the first aspects.
[0039] Fourthly, a readable storage medium is provided, the readable storage medium storing a program or instructions that, when executed on a device, cause the device to perform the method as described in any one of the first aspects.
[0040] Fifthly, a chip system is provided, including a processor for supporting a computer device in implementing the method as described in any one of the first aspects.
[0041] In a sixth aspect, a computer program product is provided, the computer program product comprising a program; when the computer program is run on a computer, the computer causes the computer to perform the method as described in any one of the first aspects. Attached Figure Description
[0042] Figure 1 is a schematic diagram of a foldable screen PC;
[0043] Figure 2 is a schematic diagram of moving a window when a foldable PC is in the unfolded state in related technologies;
[0044] Figure 3 is a schematic diagram of moving a window when a foldable PC is in a folded state in related technologies;
[0045] Figure 4 is a schematic diagram of the window movement process provided in Example 1 of this application;
[0046] Figure 5 is a schematic diagram of the window movement process provided in Example 2 of this application;
[0047] Figure 6 is a schematic diagram of the window movement process provided in Example 3 of this application;
[0048] Figure 7 is a schematic diagram of the window movement process provided in Example 4 of this application;
[0049] Figure 8 is a schematic diagram of the window movement process provided in Example 5 of this application;
[0050] Figure 9 is a flowchart illustrating the interactive display method provided in an embodiment of this application;
[0051] Figure 10 is a schematic diagram of the angle between the dragging direction and the first vertical line in an embodiment of this application;
[0052] Figure 11 is a schematic diagram of dividing the display area of the second sub-screen into two sub-areas by a horizontal center line in an embodiment of this application;
[0053] Figure 12 is a schematic diagram of dividing the display area of the second sub-screen into two sub-areas by a vertical center line in an embodiment of this application;
[0054] Figure 13 is a schematic diagram of multiple windows stacked in an embodiment of this application;
[0055] Figure 14 is a schematic diagram of the software architecture of the electronic device provided in the embodiment of this application;
[0056] Figure 15 is a schematic diagram of an interaction process based on a software system architecture in an embodiment of this application;
[0057] Figure 16 is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0058] Figure 17 is a schematic diagram of the structure of another electronic device provided in an embodiment of this application. Detailed Implementation
[0059] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. In the description of the embodiments of this application, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined with "first" and "second" may explicitly or implicitly include one or more of that feature.
[0060] It should be understood that in the embodiments of this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c can be single or multiple.
[0061] A foldable PC is a new type of PC device. It uses a foldable flexible display screen as a display device, which can be a liquid crystal display (LCD), but this application does not limit it.
[0062] The display screen of a foldable PC can be considered as two logical sub-screens (hereinafter referred to as sub-screens) bounded by a folding axis. Users can fold or unfold the display screen, placing the foldable PC in either a folded or unfolded state. In the unfolded state, the two sub-screens are on the same plane or at an angle less than a preset angle (e.g., 5°), in which case the interfaces of the two sub-screens merge into a single display interface. In the folded state, the two sub-screens have a preset angle, and this angle is greater than a preset angle (e.g., approximately 90°), in which case the two sub-screens are independent display areas and are managed independently. Figure 1 exemplarily illustrates the two states of the foldable PC.
[0063] Referring to Figure 1(a), when the foldable PC is in the unfolded state, the display area 101 of the foldable screen is the entire area of the display screen. When the foldable PC is in the unfolded state, the user can rotate the foldable PC, and the foldable PC can be displayed in either a landscape or portrait unfolded state, as shown in Figure 1(b). When the foldable PC is in the folded state, the folded display screen can be considered to include sub-screen 11 and sub-screen 12, and the foldable PC can be displayed in the display area 102 of sub-screen 11 and the display area 103 of sub-screen 12. In some examples, when the foldable PC is in the folded state, a physical keyboard can be connected to sub-screen 12 (e.g., a physical keyboard can be overlaid on sub-screen 12), or a virtual keyboard can be displayed in the display area 103 of sub-screen 12. The user can input content or trigger operations on the foldable PC using either the physical keyboard or the virtual keyboard.
[0064] To facilitate the description of the two sub-screens, based on their spatial positions in the folded state, the sub-screen placed on a horizontal plane is called the horizontal sub-screen, and the sub-screen that is fixed and connected to the horizontal sub-screen and stands vertically in space is called the vertical sub-screen, even though in most uses the relationship between the vertical and horizontal sub-screens is not perpendicular. For example, sub-screen 11 in Figure 1 can be called the vertical sub-screen, and sub-screen 12 can be called the horizontal sub-screen. It should be understood that in the embodiments of this application, vertical sub-screen and horizontal sub-screen are only names and not limitations on the positional relationship between the two sub-screens. In practice, the vertical sub-screen and the horizontal sub-screen are not necessarily perpendicular to each other and may have other angles.
[0065] It should be understood that the dashed line in Figure 1 is only a schematic diagram of the folding axis of the display screen. The display screen will not actually display the dashed line. The dashed lines in the figures involved in the following embodiments of this application can also refer to this description. Repeated descriptions will not be repeated.
[0066] Foldable PCs support window movement within the display area. In the computer field, a window refers to the user interface, the visual interface between the user and applications. A window typically consists of elements such as a title bar, menu bar, toolbar, control menu buttons, maximize / minimize / close buttons, scroll bars, window borders, and a working area. Users can use these elements to change the window's state, position, operate applications, manage data, and so on. Currently, regardless of whether the foldable PC is in an unfolded or folded state, the display screen is treated as a single, continuous display, and window positions are changed within the display area based on user dragging operations.
[0067] Figure 2 illustrates an example of moving a window when the foldable PC is in the unfolded state. In the unfolded state, window 20 is displayed within the display area. Window 20 is a small window (i.e., a non-full-screen window). Optionally, other interface elements, such as application icons, service cards, etc., can also be displayed within the display area. At the title bar of window 20, the user performs a "press" operation using a mouse or touch, and while maintaining the "press" state, drags window 20 to move it. When it reaches the target position, a "release" operation is performed, and window 20 moves from its original position to the target position.
[0068] Figure 3 illustrates an exemplary diagram of moving a window when the foldable PC is in a folded state. In the folded state, the open window is displayed by default in sub-screen 31; for example, in Figure 3, sub-screen 31 displays window 30. Window 30 can be a non-full-screen window (i.e., the size of window 30 is smaller than the display area of sub-screen 31). Optionally, other interface elements, such as application icons and service cards, can also be displayed within the display area. At the title bar of window 30, the user performs a "press" operation using a mouse or touch, and while maintaining the "press" state, drags window 30 to move it. When it moves to the display area of sub-screen 32, a "release" operation is performed, and window 30 moves from the display area of sub-screen 31 to its current position within the display area of sub-screen 32. In other examples, the window can also be a full-screen window, and the movement process for this full-screen window is similar to that shown in Figure 3.
[0069] As shown in Figures 2 and 3, during window movement, users need to drag the window from its source position to the target position using mouse or touch controls. This involves a relatively long distance and is inconvenient for users, especially when the foldable PC is folded. Because the two sub-screens form an angle at the folding axis, this angle affects the user's dragging operation when moving the window across the folding axis. Furthermore, the folding axis area of the display is generally quite fragile, and frequent touch operations can cause irreversible physical damage to this area.
[0070] Therefore, this application provides an interactive display method that can be executed by an electronic device, including a foldable display screen, such as the foldable PC shown in Figure 1. Using the method provided in this application, windows can be quickly moved on the electronic device, and physical damage to the folding axis area caused by touch operations during window movement can be reduced.
[0071] In this embodiment, the electronic device with a foldable display screen, when in a folded state, has the foldable display screen folded along the folding axis into a first sub-screen and a second sub-screen. For the first window displayed within the display area of the first sub-screen, the user can move the first window from the display area of the first sub-screen to the display area of the second sub-screen through a human-computer interaction operation (or user operation) that is faster than the drag operation shown in Figure 3 above.
[0072] The first window in this embodiment is the actual size of the window. If the first window has window decorations, such as a title bar and a window border, then the window size refers to the window size excluding the window decorations. The position of the first window is the actual position of the window. If the first window has window decorations, such as a title bar and a window border, then the window position refers to the actual position of the window excluding the window decorations. Of course, window decorations can also be included in the window size and window position, and this application does not limit this.
[0073] Compared to the drag operation shown in Figure 3 above, the human-computer interaction operation provided in this application embodiment can shorten the distance of the user's drag operation, thereby allowing the window to be moved more quickly and conveniently. It can also avoid contact with the folding axis area, thus reducing physical damage to the folding axis area and extending the service life of the electronic device.
[0074] The human-computer interaction operations supported by the embodiments of this application may include one or more of the following: mouse operation and touch operation.
[0075] Touch operation refers to the interaction between a user and a device through touch or gesture operations on the screen. Touch refers to the event of a finger touching the screen. Touch events can include stages such as touch start, touch movement, touch end, and touch cancellation. Gestures refer to a series of events that occur from the moment a finger touches the screen until it leaves the screen, such as double-tap, long press, and drag.
[0076] The touch operations supported by the embodiments of this application may include contact touch operations and non-contact touch operations.
[0077] Contact-based touch operation refers to touch operation that involves contact with the screen, and may include resistive touch, capacitive touch, surface acoustic wave (SAW) touch, etc., which are not limited in this application. Specifically, a screen with resistive touch functionality includes two layers of isolated metal electrodes. When a finger presses on the screen, the two electrodes make contact to form a circuit, thereby detecting the touch position. A screen with capacitive touch functionality has a transparent conductive film deposited between two glass plates. When a finger approaches or touches the screen, it changes the electric field distribution, thereby sensing the position of the touch point. A screen with SAW touch functionality transmits ultrasonic waves to the screen surface through an ultrasonic transmitter and receiver. When a finger touches the screen, it changes the reflected wave, thereby determining the position of the touch point.
[0078] Non-contact touch operation refers to touch operation without physical contact with the screen. For example, screens with optical touch functionality can support non-contact touch operation. Specifically, this can be achieved by arranging infrared and visible light-emitting diodes (LEDs) on the screen surface using sensors, and calculating coordinates based on whether a finger or object blocks the light source. Another example is using sensors and cameras in electronic devices to recognize user gestures and execute corresponding operations. Furthermore, some styluses can also support non-contact touch operation.
[0079] Taking touch operation as an example, one example of user operation for moving a window in this application embodiment is a single-finger drag operation. This drag operation acts on a first window within the display area of a first sub-screen, and is performed only within the display area of the first sub-screen, without needing to cross the folding axis area. The direction of movement of this drag operation points towards the second sub-screen and meets a certain speed requirement, thereby moving the first window from the first sub-screen to the second sub-screen. It can be understood that this single-finger operation can also be replaced by a touch-based stylus drag operation.
[0080] Taking mouse operation as an example, one example of user operation for moving a window in this application embodiment is a mouse-based drag operation. Similar to a single-finger-based drag operation, this drag operation acts on a first window within the display area of a first sub-screen, and is performed only within the display area of the first sub-screen, without needing to cross the folding axis area. The direction of this drag operation points to the second sub-screen and meets a certain speed requirement, thereby moving the first window from the first sub-screen to the second sub-screen.
[0081] Taking non-contact touch operation as another example, one example of user operation for moving a window in this application embodiment is a non-contact swiping operation based on a stylus. The principle of moving the window is similar to the dragging operation based on a single finger, mouse, or stylus mentioned above.
[0082] Another example of contactless touch operation is contactless user gesture operation. Window movement between different sub-screens can be achieved based on user-defined gestures or system-provided gestures. Similar to single-finger or mouse operations, gesture operations can also include stages such as start, movement, and end. The electronic device can perform corresponding processing based on start, movement, and end events to complete the method provided in the embodiments of this application.
[0083] As can be seen, the embodiments of this application can conveniently move windows between different sub-screens through dragging operations or gesture operations with short distances and high speeds. In some embodiments of this application, the above-mentioned user operations are referred to as tossing operations or tossing gestures.
[0084] To better understand the embodiments of this application, the embodiments of this application are described below with reference to several specific scenario examples.
[0085] Example 1
[0086] Referring to Figure 4(a), this is a schematic diagram of the window movement process provided in Example 1 of this application embodiment. As shown in Figure 4(a), the foldable PC is in a folded state, and a window 40 is displayed in the display area of the sub-screen 41. The size of the window 40 is smaller than the size of the display area of the sub-screen 41, that is, the window 40 is a non-full-screen window. Optionally, the window 40 is a free window, that is, it allows users to drag, scale, and freely arrange it. Of course, other interface elements can also be displayed in the display area of the sub-screen 41, such as the application icon in Figure 4. The user's finger "presses" at the title bar position of the window 40 and drags the window 40 towards the sub-screen 42, so that the window 40 moves from position 1 to position 2. At position 2, the user's finger "lifts" to end the drag operation. This drag operation is fast and the drag path is short, which is equivalent to "throwing" the window 40 towards the sub-screen 42.
[0087] In response to the aforementioned "throwing" operation, the foldable PC moves window 40 from the display area of sub-screen 41 to the display area of sub-screen 42.
[0088] In one possible implementation, the window 40 displayed within the display area of sub-screen 42 maintains the same size as its size within sub-screen 41, thus avoiding the need for the user to resize the window 40. In another possible implementation, the size of the window 40 displayed within the display area of sub-screen 42 can be adjusted according to the size of the second sub-screen's display area; for example, the window height can be adjusted to two-thirds of the height of the second sub-screen's display area, and the window width can be adjusted to two-thirds of the width of the second sub-screen's display area.
[0089] In one possible implementation, after window 40 is moved to the display area of sub-screen 42, it is displayed centered in the display area of sub-screen 42, that is, the center point of window 40 coincides with the center point of the display area of sub-screen 42, so that the user can easily operate window 40 in the display area of sub-screen 42.
[0090] Optionally, if the display area of the second sub-screen (e.g., sub-screen 42) includes a dock and a status bar, then window 40 can be displayed centered within the display area of the second sub-screen excluding the dock and status bar. This display area is the visible area of the application window. In other words, window 40 can be displayed centered within the visible area of the application window on the second sub-screen.
[0091] The Dock can be located at the bottom or left / right edges of the screen. It can include application icons (including those of currently running applications), allowing users to quickly launch new applications or switch between running applications. The status bar can also be located at the bottom or left / right edges of the screen and can display system information, system time, network connection status, volume control buttons, etc.
[0092] In one possible implementation, the relative position of window 40 within the display area of the sub-screen remains unchanged before and after the movement. For example, before being moved, the ratio of the distance between the center point of window 40 and the left boundary of the display area of sub-screen 41 to the length of that display area is 1:3, and the ratio of the distance between the center point of window 40 and the top boundary of the display area of sub-screen 41 to the length of that display area is 2:1. After moving to sub-screen 42, the ratio of the distance between the center point of window 40 and the left boundary of the display area of sub-screen 42 to the length of that display area remains 1:3, and the ratio of the distance between the center point of window 40 and the top boundary of the display area of sub-screen 42 to the length of that display area remains 2:1.
[0093] In one possible implementation, animation effects can be used to depict the process of window 40 moving from position 2 on sub-screen 41 to sub-screen 42. For example, the animation effect could be to sequentially display the window at different positions along the window's movement path, i.e., to play the movement process of the window; another example is that during the playback of the window's movement process, a display effect of first fading out of sub-screen 41 and then fading into sub-screen 42 could be used. This application is not limited to this.
[0094] This application embodiment supports bidirectional window movement between two sub-screens of a foldable PC.
[0095] Referring to Figure 4(b), the foldable PC is in a folded state, and window 40 is displayed in the display area of sub-screen 42. Window 40 is a free window. Of course, other interface elements can also be displayed in the display area of sub-screen 42. The user "presses" their finger on the title bar of window 40 and drags window 40 towards sub-screen 41, moving window 40 from position 3 to position 4. At position 4, the user "lifts" their finger, ending the dragging operation. This dragging operation is relatively fast and has a short dragging path, equivalent to "throwing" window 40 towards sub-screen 41.
[0096] In response to the aforementioned "throwing" operation, the foldable PC moves window 40 from the display area of sub-screen 42 to the display area of sub-screen 41.
[0097] In one possible implementation, the window 40 displayed in the display area of sub-screen 41 retains the same size as the window in sub-screen 42.
[0098] In one possible implementation, after window 40 is moved to sub-screen 41, it is displayed centered within the display area of sub-screen 41 by default.
[0099] In one possible implementation, the relative position of window 40 within the display area of the sub-screen remains unchanged before and after the movement.
[0100] In one possible implementation, animation effects can be used to depict the process of window 40 moving from position 4 of sub-screen 42 to sub-screen 41.
[0101] Example 2
[0102] Referring to Figure 5, similar to the method shown in Figure 4, a "throwing" operation is performed on window 50 to move window 50 from the display area of sub-screen 51 to the display area of sub-screen 52. The position of window 50 within the display area of sub-screen 52 is related to the speed of the "throwing" operation. The speed of this operation can be calculated based on the path length and operation time of the "throwing" operation.
[0103] Specifically, as shown in Figure 5(a), the speed of the "throwing" operation on window 50 is denoted as speed 1, and as shown in Figure 5(b), the speed of the "throwing" operation on window 50 is denoted as speed 2, where speed 2 is greater than speed 1. Therefore, when window 50 is "thrown" at speed 2, compared to when it is "thrown" at speed 1, the window is further away from the top edge of the display area of sub-screen 52. In other words, the faster the "throwing" speed, the farther the window is from the top edge of the target sub-screen in the display area, making the user feel that the throwing speed is faster and the window is thrown farther, thus improving the user experience.
[0104] Similarly, the same method can be used to move windows within the display area of sub-screen 52 to the display area of sub-screen 51.
[0105] Example 3
[0106] Referring to Figure 6, similar to the method shown in Figure 4, a "throwing" operation is performed on window 60 to move window 60 from the display area of sub-screen 61 to the display area of sub-screen 62. The position of window 60 within the display area of sub-screen 62 is related to the direction of the "throwing" operation. The direction of the "throwing" operation can be determined based on the path of the "throwing" operation.
[0107] Specifically, as shown in Figure 6(a), the direction of the "throwing" operation on window 60 is represented as direction 1, and as shown in Figure 6(b), the direction of the "throwing" operation on window 60 is represented as direction 2. Direction 1 is biased to the left, and direction 2 is biased to the right. Therefore, when window 60 is "thrown" with direction 1, the window is closer to the left edge of the display area of sub-screen 62; when window 60 is "thrown" with direction 2, the window is closer to the right edge of the display area of sub-screen 62. In other words, the position of the window within the display area of the target sub-screen is related to the direction of the "throwing" operation on the window, thereby improving the user experience.
[0108] Similarly, the same method can be used to move windows within the display area of sub-screen 62 to the display area of sub-screen 61.
[0109] Example 4
[0110] When multiple windows are moved sequentially from the source sub-screen to the target sub-screen using a method similar to that shown in Figure 4, 5, or 6, these multiple windows can avoid each other within the display area of the target sub-screen, for example, they can be displayed in a stacked manner.
[0111] As shown in Figure 7(a), taking the example of a window being moved from the display area of sub-screen 71 to the display area of sub-screen 72 and then centered, after moving window 701 from sub-screen 71 to sub-screen 72 in the manner shown in Figure 4, window 701 is centered within the display area of sub-screen 72. Then, window 702 is moved from sub-screen 71 to sub-screen 72 in the manner shown in Figure 4, and window 702 is stacked on top of window 701. In other words, windows can be moved sequentially, with the later-moved window stacked on top of the earlier-moved window.
[0112] Optionally, window 702 may be offset downwards and to the right by a certain distance relative to window 701, such as the height of the window title bar.
[0113] Optionally, within the display area of sub-screen 72, the size of window 702 can be equal to the size of window 701. Of course, the size of window 702 can also remain unchanged. This application does not impose any limitations.
[0114] This application does not limit the stacking method, but the stacked windows do not completely overlap. For example, a portion of each window is not obscured by other windows, so that users can easily select windows for operation. An example of a stacking method is shown in Figure 7(a), where the status bar of each window is not completely or partially obscured by other windows.
[0115] As shown in Figure 7(b), taking the example that after a window is moved from the display area of sub-screen 71 to the display area of sub-screen 72, the position of the window in the display area of the target sub-screen is related to the direction of the "throwing" operation, using the method shown in Figure 6 above, after moving window 701, which is close to the right edge of the display area of sub-screen 71, from sub-screen 71 to sub-screen 72, window 701 is displayed in the middle position of the display area of sub-screen 72. Then, using the method shown in Figure 6 above, window 702, which is close to the left edge of sub-screen 71, is moved from sub-screen 71 to sub-screen 72. According to the direction of the "throwing" operation, window 702 should originally be displayed in the middle position of the display area of sub-screen 72 (i.e., coinciding with the position of the current window 701), but in order to avoid window 701 in sub-screen 72, window 702 is stacked on top of window 701.
[0116] Similarly, for situations where the position of a window within the display area of the target sub-screen is related to the speed of the "throwing" operation, multiple windows can also avoid each other within the display area of the target sub-screen.
[0117] Example 5
[0118] Referring to Figure 8(a), this is a schematic diagram of the window movement process provided in Example 5 of this application embodiment. As shown in Figure 8(a), the foldable screen PC is in a folded state, and window 80 is displayed in the display area of sub-screen 81. Window 80 is a full-screen window, that is, the size of window 80 is the same as the size of the display area of sub-screen 41. The user's finger "presses" at the title bar position of window 80 and drags window 80 towards sub-screen 82, so that window 80 moves from position 1 to position 2. At position 2, the user's finger "lifts" to end the drag operation. This drag operation is relatively fast and the drag path is short, which is equivalent to "throwing" window 80 towards sub-screen 82.
[0119] In response to the aforementioned "throwing" operation, the foldable PC moves window 80 from the display area of sub-screen 81 to the display area of sub-screen 82.
[0120] In one possible implementation, after window 80 is moved to the display area of sub-screen 82, it is displayed in full-screen mode within the display area of sub-screen 82 by default.
[0121] In one possible implementation, animation effects can be used to depict the movement of window 80 from position 2 on sub-screen 81 to sub-screen 82. For example, the animation effect could be to sequentially display the window at different positions along its movement path, i.e., to play the movement process of the window; another example is that during the playback of the window's movement process, a display effect of first fading out of sub-screen 81 and then fading into sub-screen 82 could be used. This application is not limited to this.
[0122] In one possible implementation, if the window being moved is a full-screen window, the window is minimized when the user starts dragging it, and then returns to full-screen mode when the window is moved to the target sub-screen. A possible example is shown in Figure 8(b).
[0123] Referring to Figure 8(b), when the user "presses" their finger on the title bar of window 80, or begins to drag it (for example, when the drag distance is the height of the title bar of window 80), window 80 exits full-screen mode. After exiting full-screen mode, the size of window 80 shrinks, changing from a full-screen window to a free window. When the user "throws" window 80, window 80 moves from sub-screen 81 to sub-screen 82. During the window movement, window 80 remains in a free window state within the display area of sub-screen 81. When window 80 moves to sub-screen 82, it changes to a full-screen window state, that is, it is displayed as a full-screen window within the display area of sub-screen 82.
[0124] Optionally, after window 80 is dragged into full-screen mode, the window 80 can be scaled down proportionally using the position of the drag point on the title bar of window 80 as a reference point. In other words, the relative position of the drag point within window 80 remains unchanged before and after scaling down.
[0125] Optionally, when the dragging ends, window 80 returns to full-screen mode; or, when the minimized window 80 is moved to the display area of the second sub-screen (e.g., the entire title bar of window 80 enters the display area of the second sub-screen), window 80 returns to full-screen mode. This application does not impose any limitations.
[0126] Similarly, the same method can be used to move windows within the display area of sub-screen 82 to the display area of sub-screen 81.
[0127] It should be understood that although Examples 1 to 5 above are described using foldable screen PCs as examples, the methods provided in this application embodiment can be applied to any electronic device with a foldable display screen. For example, foldable screen mobile phones, tablets, wearable devices, etc.
[0128] It should be understood that the operating systems that the electronic devices involved in the embodiments of this application can run include, but are not limited to, those mentioned above. Harmony Or other operating systems.
[0129] The general flow of the interactive display method provided in the embodiments of this application will be described below with reference to Figure 9.
[0130] Referring to Figure 9, a flowchart illustrating an interactive display method provided in an embodiment of this application is shown. This process can be executed by an electronic device with a foldable display screen. An example of such an electronic device is the foldable screen PC shown in Figure 1. When the electronic device is in a folded state, the foldable display screen is folded into a first sub-screen and a second sub-screen. The first sub-screen is a vertical sub-screen, and the second sub-screen is a horizontal sub-screen, or the first sub-screen is a horizontal sub-screen, and the second sub-screen is a vertical sub-screen. This flowchart describes the process of moving a first window within the display area of the first sub-screen to the display area of the second sub-screen when the electronic device is in a folded state.
[0131] As shown in Figure 9, when the electronic device is in a folded state, the process may include the following steps:
[0132] Step 901: The electronic device displays the first window in the display area of the first sub-screen.
[0133] In some possible scenarios, users can click the icon of the first application in the display area of the first sub-screen using their finger or mouse to open the first application. At this time, the user interface (i.e., the first window) of the first application is displayed in the display area of the first sub-screen.
[0134] In other possible scenarios, the user can launch the first application via voice, in which case the user interface of the first application (i.e., the first window) is displayed in the display area of the first sub-screen.
[0135] In other possible scenarios, when the first application is already open and a second window of the application is already displayed on the first sub-screen, when the user triggers a function key (such as a button or link control) in the second window, the electronic device opens the corresponding first window in response, and the first window is displayed in the display area of the first sub-screen.
[0136] It should be understood that the above are merely illustrative examples of some implementations of displaying the first window within the display area of the first sub-screen, and this application does not impose any limitations on them.
[0137] Step 902: The electronic device receives the user's first operation on the first sub-screen.
[0138] The first operation involves dragging a first window, with the dragging direction pointing towards the second sub-screen, and the drag ending on the first sub-screen. In other words, the first operation can be a drag operation with a short drag distance, occurring only on the first sub-screen, and the direction of movement pointing towards the second sub-screen. Taking a user's finger drag operation as an example, during the first operation, the user's finger remains in contact with the screen until the first operation ends.
[0139] Taking single-finger or mouse dragging as an example, dragging operations typically include the following three events: down, move, and up. The down event is the start event of the dragging operation, and its corresponding information includes a timestamp (the time the down event occurred) and a position (the screen coordinates corresponding to the down event). The up event is the end event of the dragging operation, and its corresponding information includes a timestamp (the time the up event occurred) and a position (the screen coordinates corresponding to the up event). The move event includes timestamps and screen coordinates of multiple points, which form the path of the dragging operation on the screen. After the down event occurs, the electronic device can collect the position of the user's finger or mouse on the screen in the down state at a set frequency to obtain relevant information about the move event.
[0140] In some scenarios, the user drags a window to move it within the display area of the currently located first sub-screen, rather than to move it to a second sub-screen. Therefore, to avoid accidental operations, in some embodiments of this application, when the electronic device detects a drag operation on the first window, it can also determine whether the drag operation meets the condition of moving the first window from the first sub-screen to the second sub-screen. Only if the condition is met will the first window be moved from the first sub-screen to the second sub-screen; otherwise, the first window will be moved to the corresponding position according to the screen coordinates corresponding to the up event of the drag operation.
[0141] Specifically, after receiving a first operation to drag the first window, the electronic device can determine whether the speed and / or direction of the drag meets a first condition. If the speed and / or direction of the drag meets the first condition, then in response to the first operation, the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen.
[0142] For example, the following three cases can be included:
[0143] Case 1: The first condition is that the dragging speed is greater than or equal to the speed threshold. That is, if the dragging speed is greater than or equal to the speed threshold, the electronic device will determine that the first window needs to be moved from the first sub-screen to the second sub-screen.
[0144] The drag speed can be determined based on the length of the drag path and the drag duration. The drag path length can be determined based on the screen coordinates corresponding to the down, move, and up events. The drag path can be obtained from the screen coordinates, and thus the length of the path can be determined. The drag duration can be determined based on the timestamps corresponding to the down and up events, and the drag duration is the time interval between the timestamps of the up and down events.
[0145] Optionally, the above-mentioned speed threshold can be 25.4 mm / s, which is not limited in this application.
[0146] Optionally, the aforementioned speed threshold can be set by the system. Alternatively, the speed threshold can be set by the user. For example, the user can input a value for the speed threshold on the settings interface, or select from candidate speed thresholds or speed threshold levels provided by the system, or select a value from the possible range of speed threshold values using a slider or other controls provided by the system.
[0147] Case 2: The first condition is that the angle between the dragging direction and the first reference line is less than or equal to the angle threshold. The first reference line is a straight line on the first plane that is perpendicular to the folding axis of the foldable display screen. The first plane is the plane where the first sub-screen is located, or the first plane is parallel to the plane where the first sub-screen is located.
[0148] For example, Figure 10 shows the angle between the dragging direction and the first reference line. As shown in Figure 10, the first reference line is a straight line perpendicular to the folding axis in the plane where the first sub-screen is located, and the angle between this line and the midpoint of the dragging direction is θ. If θ is less than or equal to an angle threshold, the first condition is considered to be satisfied.
[0149] Optionally, the aforementioned angle threshold can be a value less than 45°, for example, it can be 25°, and this application does not limit it.
[0150] Optionally, the aforementioned angle threshold can be set by the system. Alternatively, the angle threshold can be set by the user. For example, the user can input the angle threshold value on the settings interface, select from candidate angle thresholds provided by the system, or select a value from the possible range of angle threshold values using a slider or other controls provided by the system.
[0151] It should be understood that the first condition mentioned above can also be expressed as: the angle between the direction of dragging and the second reference line is greater than or equal to the angle threshold, the second reference line is a straight line on the first plane that is parallel to the folding axis of the foldable display screen, the first plane is the plane where the first sub-screen is located, or the first plane is parallel to the plane where the first sub-screen is located.
[0152] For example, the dragging direction can be determined based on the dragging path and the screen coordinates corresponding to the up event. For instance, if the dragging path is a straight line, the dragging direction is the direction indicated by the straight line; if the dragging path is a curve, the point where the screen coordinates corresponding to the up event are located is the tangent point (i.e., the intersection of the curve and the tangent line), and the direction of the tangent line of the curve is the dragging direction.
[0153] Case 3: The first condition is that the dragging speed is greater than or equal to the speed threshold, and the angle between the dragging direction and the first reference line is less than or equal to the angle threshold.
[0154] In other words, a drag operation that meets the first condition can be a drag operation with a short distance and a fast speed, similar to "throwing" the first window. Therefore, in this embodiment, a drag operation that meets the first condition can be called a "throwing" operation.
[0155] Step 903: In response to the first operation, the electronic device moves the first window from the display area of the first sub-screen to the display area of the second sub-screen.
[0156] In this embodiment of the application, the state of the first window in the first sub-screen and the second sub-screen may include the following situations:
[0157] Scenario 1: The first window is not displayed in full screen within the display area of the first sub-screen. After moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window is no longer displayed in full screen within the display area of the second sub-screen. In other words, the first window is a free window in the first sub-screen, and it remains a free window after being moved to the second sub-screen.
[0158] Scenario 2: The first window is not displayed in full screen within the display area of the first sub-screen. After moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window will be displayed in full screen within the display area of the second sub-screen. In other words, the first window is a free window in the first sub-screen, and becomes a full-screen window after being moved to the second sub-screen.
[0159] Scenario 3: The first window is displayed in full-screen mode within the display area of the first sub-screen. After moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window remains in full-screen mode within the display area of the second sub-screen. In other words, the first window is a full-screen window in the first sub-screen, and it remains a full-screen window after being moved to the second sub-screen.
[0160] Scenario 4: The first window is displayed full-screen within the display area of the first sub-screen. After moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window is no longer displayed full-screen within the display area of the second sub-screen. In other words, the first window is a full-screen window in the first sub-screen, but becomes a free window after being moved to the second sub-screen.
[0161] In one possible implementation, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window becomes a free window and is centered within the display area of the second sub-screen, or centered within the displayable area of the application window of the second sub-screen. A possible example can be found in the relevant content of Example 1 above and Figure 4.
[0162] In one possible implementation, if the first window is a free window in both the first and second sub-screens, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the relative position of the first window in the display area of the second sub-screen remains unchanged compared to its relative position in the display area of the first sub-screen. A possible example can be found in the relevant content of Example 1 above.
[0163] In one possible implementation, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window becomes a free window, and its position within the display area of the second sub-screen is related to the speed of the dragging operation. Specifically, the position of the first window within the display area of the second sub-screen can be determined based on the correlation between the dragging speed and the window position, and the first window can be displayed at that position. A possible example can be found in the relevant content of Example 2 above and Figure 5.
[0164] For example, the display area of the second sub-screen can be divided into two areas horizontally, such as the first sub-area and the second sub-area as shown in Figure 11, where the display area of the second sub-screen is divided into a horizontal center line; and three different speed ranges can be set, in ascending order: the first speed range, the second speed range, and the third speed range. Correspondingly, an example of the relationship between dragging speed and window position is as follows: if the dragging speed is in the first speed range, then within the display area of the second sub-screen, the center point of the first window is located within the first sub-area of the display area of the second sub-screen, that is, the first window is close to the upper edge of the display area of the second sub-screen; if the dragging speed is in the second speed range, then within the display area of the second sub-screen, the center point of the first window coincides with the horizontal center point of the display area of the second sub-screen; if the dragging speed is in the third speed range, then within the display area of the second sub-screen, the center point of the first window is located within the second sub-area of the display area of the second sub-screen, that is, the first window is close to the lower edge of the display area of the second sub-screen.
[0165] Optionally, the initial data for the relationship between dragging speed and window position can be set by the system and subsequently learned or updated based on user operations, so that the relationship can match the user's operating habits. Specifically, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, if the position of the first window changes vertically within the display area of the second sub-screen within a first time period, the aforementioned relationship is updated based on the changed vertical position of the first window and the dragging speed (the dragging speed refers to the speed of the dragging operation that moves the first window from the display area of the first sub-screen to the display area of the second sub-screen). In other words, after moving the first window from the first sub-screen to the second sub-screen based on the first operation, if the user adjusts the position of the first window within the display area of the second sub-screen within a short period of time (within the first time period), it indicates that the adjusted position is the display position of the first window that the user wants at the speed of the first operation.
[0166] Optionally, the first duration can be, for example, 5 seconds or 10 seconds, and this application does not limit it.
[0167] Optionally, the initial duration can be set by the system or by the user.
[0168] Optionally, the system can learn the relationship between dragging speed and window position, which can be enabled or disabled by default. In some embodiments, users can choose to enable or disable this function. This application is not limiting.
[0169] In one possible implementation, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window becomes a free window, and its position within the display area of the second sub-screen is related to the direction of the drag operation. Specifically, the position of the first window within the display area of the second sub-screen can be determined based on the relationship between the drag direction and the window position, and the first window can be displayed at that position. A possible example can be found in the relevant content of Example 3 above and Figure 6.
[0170] For example, the display area of the second sub-screen can be divided into two areas vertically, such as the first sub-area and the second sub-area as shown in Figure 12, where the vertical center line divides the display area of the second sub-screen into a first sub-area and a second sub-area. Three different angle intervals can also be set, where the angle is the angle between the dragging direction and the first reference line, as shown in Figure 12. These three angle intervals are: the first angle interval, the second angle interval, and the third angle interval. Correspondingly, an example of the relationship between the dragging direction and the window position is as follows: if the angle corresponding to the dragging direction is within the first angle interval, then within the display area of the second sub-screen, the center point of the first window is in the first sub-area of the second sub-screen's display area, i.e., the first window is near the left edge of the second sub-screen's display area; if the angle corresponding to the dragging direction is within the second angle interval, then within the display area of the second sub-screen, the center point of the first window coincides with the vertical center line of the second sub-screen's display area; if the angle corresponding to the dragging direction is within the third angle interval, then within the display area of the second sub-screen, the center point of the first window is in the second sub-area of the second sub-screen's display area, i.e., the first window is near the right edge of the second sub-screen's display area.
[0171] Optionally, the initial data for the association between the drag direction and the window position can be set by the system and subsequently learned or updated based on user operations, so that the association can match the user's operating habits. Specifically, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, if the position of the first window changes horizontally within the display area of the second sub-screen within the first time period, the above association is updated according to the angle corresponding to the changed horizontal position of the first window and the drag direction (the drag direction refers to the direction of the drag operation that moves the first window from the display area of the first sub-screen to the display area of the second sub-screen). In other words, after moving the first window from the first sub-screen to the second sub-screen based on the first operation, if the user adjusts the position of the first window within the display area of the second sub-screen within a short period of time (within the first time period), it indicates that the adjusted position is the display position of the first window that the user wants at the speed of the first operation.
[0172] Optionally, the first duration can be, for example, 5 seconds or 10 seconds, and this application does not limit it.
[0173] Optionally, the initial duration can be set by the system or by the user.
[0174] Optionally, the function to learn or update the relationship between the dragging direction and the window position can be enabled or disabled by the system by default. In some embodiments, users can choose to enable or disable this function. This application does not impose any limitations.
[0175] In one possible implementation, if the first window is a free window, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the position of the first window within the display area of the second sub-screen is related to the speed and direction of the dragging operation. Specifically, the position of the first window within the display area of the second sub-screen can be determined based on the relationship between the dragging speed and direction and the window position, and the first window can be displayed at that position.
[0176] In one possible implementation, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the position of the first window within the display area of the second sub-screen is related to the magnitude of the dragging pressure. The touchscreen or pressure sensor of the electronic device can detect the magnitude of the user's pressure. When the electronic device detects that the user is applying significant pressure with their finger while dragging, it indicates that the user is "forcefully" throwing the window, and the window will move a longer distance, meaning its position on the second sub-screen will be further away from the folding axis. Conversely, when the electronic device detects that the user is applying less pressure with their finger while dragging, it indicates that the user is "not forcefully" throwing the window, and the window will move a shorter distance, meaning its position on the second sub-screen will be closer to the folding axis.
[0177] For example, the position of the first window in the display area of the second sub-screen can be determined based on the correlation between the drag pressure and the window position, and the first window can be displayed at that position.
[0178] Optionally, the initial data for the relationship between dragging pressure and window position can be set by the system and subsequently learned or updated based on user operations, ensuring that the relationship matches the user's operating habits. Specifically, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, if the position of the first window changes vertically within the display area of the second sub-screen within a first time period, the aforementioned relationship is updated based on the changed vertical position of the first window and the pressure magnitude (the pressure magnitude refers to the dragging pressure of moving the first window from the display area of the first sub-screen to the display area of the second sub-screen). In other words, after moving the first window from the first sub-screen to the second sub-screen based on the first operation, if the user adjusts the position of the first window within the display area of the second sub-screen within a short period of time (within the first time period), it indicates that the adjusted position is the display position of the first window that the user desired under the pressure of the first operation.
[0179] In one possible implementation, the first window is displayed full-screen in the first sub-window before being moved. After the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed full-screen in the display area of the second sub-screen. A possible example can be found in the relevant content of Example 5 above and Figure 8.
[0180] Optionally, when moving the first window in full-screen mode to the display area of the second sub-screen, the first window can exit full-screen mode and become a free window when dragging begins. After being moved to the display area of the second sub-screen, it can be restored to full-screen mode, so that the first window is displayed in full-screen mode in the display area of the second sub-screen.
[0181] Specifically, in one possible implementation, the above process may include: in response to a start event (e.g., a down event) of a drag operation, the first window is selected and exits full-screen mode; in response to a move event of a drag operation, the first window that has exited full-screen mode is moved; in response to an end event of a drag operation, the first window is moved to the display area of a second sub-screen and the first window is restored to full-screen mode. In another possible implementation, the above process may include: in response to a start event (e.g., a down event) of a drag operation, the first window is selected; in response to a move event of a drag operation, the first window exits full-screen mode (e.g., when the drag distance is equal to the height of the first window's status bar), the first window that has exited full-screen mode is moved; in response to an end event of a drag operation, the first window is moved to the display area of a second sub-screen and the first window is restored to full-screen mode.
[0182] In one possible implementation, for larger windows, such as those whose height and / or width exceed the display area of the second sub-screen, this application embodiment can also define display rules for this situation.
[0183] Specifically, if the height of the first window is greater than the height of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the top edge of the first window will coincide with the top edge of the display area of the second sub-screen. If the width of the first window is greater than the width of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the left edge of the first window will coincide with the left edge of the display area of the second sub-screen.
[0184] Optionally, if the display area of the second sub-screen includes a Dock and a status bar, and if the height of the first window is greater than the height of the displayable area of the application window on the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the top edge of the first window coincides with the top edge of the displayable area of the application window on the second sub-screen; if the width of the first window is greater than the width of the displayable area of the application window on the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the left edge of the first window coincides with the left edge of the displayable area of the application window on the second sub-screen.
[0185] It should be understood that if the display area of the second sub-screen includes the Dock and status bar, then the above "display area of the second sub-screen" can be replaced with "displayable area of the application window of the second sub-screen". The displayable area of the application window of the second sub-screen is the display area after removing the Dock and status bar from the display area of the second sub-screen.
[0186] In one possible implementation, before moving the first window, the following situation may exist: a portion (e.g., the upper half) of the first window is displayed in the display area of the first sub-screen, and another portion (e.g., the lower half) is displayed in the display area of the second sub-screen; that is, the first window is displayed across the fold axis, and this state can be called the hover state. In the hover state, since the title bar of the first window is displayed in the display area of the first sub-screen, it can be considered that the first window is currently displayed in the display area of the first sub-screen. In this case, the method provided in the above embodiments of this application can be used to move the first window to the display area of the second sub-screen.
[0187] In one possible implementation, when multiple free windows are moved sequentially from the first sub-screen to the second sub-screen, these windows can avoid each other within the display area of the second sub-screen, for example, they can be displayed in a stacked manner. A possible example can be found in the relevant content of Example 4 above and Figure 7.
[0188] For example, after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen in the manner described above, the electronic device receives a second operation. This second operation drags the second window displayed on the first sub-screen, with the dragging direction pointing towards the second sub-screen and the drag ending at the first sub-screen. In other words, the user performs a "throwing" operation on the second window within the display area of the first sub-screen. In response to the second operation, the electronic device moves the second window from the display area of the first sub-screen to the display area of the second sub-screen, with the second window overlapping the first window and offset from it. Optionally, the second window is displayed on top of the first window.
[0189] Optionally, if other user operations are inserted during the process of continuously throwing multiple windows to the second sub-screen, the target position of the window in the second sub-screen can be recalculated based on the window position in the second sub-screen after the other user operation.
[0190] For example, the user successively throws the first and second windows onto the second sub-screen. The first and second windows are displayed stacked on the second sub-screen, with the first window at the bottom and the second window on top. Then, the user adjusts the position of the second window on the second sub-screen. Next, the user successively throws the third and fourth windows onto the second sub-screen. The position of the third window on the second sub-screen can be calculated based on the position of the second window, so that the third window is stacked on top of the second window. The position of the fourth window is determined based on the position of the third window, that is, the fourth window is stacked on top of the third window. One example is shown in Figure 13. In other words, if there are one or more free windows on the second sub-screen, when a new free window is thrown onto the second sub-screen, the position of the new free window on the second sub-screen can be determined based on the position of the free window that was last operated on (e.g., window addition, window deletion / closing / minimization, window movement, window resizing, etc.).
[0191] Figure 9 above mainly describes single-finger or mouse drag operations as examples. It should be understood that other operations, such as drag operations using a stylus or non-contact user gesture operations, are implemented on a similar principle to Figure 9 and will not be described in detail here.
[0192] In the process shown in Figure 9 above, the window is moved from one sub-screen to another through the first operation. Compared with the drag operation shown in Figure 3 above, the first operation can shorten the distance of the user's drag operation, so the window can be moved more quickly and conveniently. It can also avoid contact with the folding axis area, thus reducing physical damage to the folding axis area and extending the service life of the electronic device.
[0193] In some embodiments of this application, the electronic device is made capable of implementing the process shown in Figure 9 by enhancing the software architecture of the electronic device.
[0194] The software architecture of the electronic device in the embodiments of this application will be described below with reference to Figure 14.
[0195] Referring to Figure 14, the software architecture of the electronic device in this embodiment is shown. As shown in Figure 14, the software system architecture of the electronic device can be a layered architecture. For example, the software can be divided into several layers, each with a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the operating system is divided into five layers, from top to bottom: the application layer, the application framework layer (framework, FWK), the runtime and system libraries, the kernel layer, and the hardware layer.
[0196] The application layer can include a series of application packages. As shown in Figure 14, the application layer can include document editing, memos, camera, notes, video, and music, etc.
[0197] In one possible implementation, the application can be developed using Java, by calling the application programming interface (API) provided by the application framework layer. Developers can then interact with the underlying operating system layers (such as the hardware layer and kernel layer) to develop their own applications. This application framework layer primarily consists of a series of services and management systems within the operating system.
[0198] The application framework layer provides application programming interfaces and a programming framework for applications within the application layer. The application framework layer includes some predefined functions. As shown in Figure 14, the application framework layer may include an activity manager, window manager, screen manager, event handling module, resource manager, notification manager, and view system, etc.
[0199] The Activity Manager manages the lifecycle of each application and provides commonly used navigation and back functions, offering an interactive interface for all program windows.
[0200] The window manager is used to manage windowed applications. It can obtain the screen size, determine if a status bar is present, lock the screen, and capture screenshots. The content provider stores and retrieves data, making that data accessible to applications. This data can include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.
[0201] 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.
[0202] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, etc.
[0203] 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.
[0204] The runtime consists of the core libraries and the virtual machine. The runtime is responsible for the scheduling and management of the operating system. The core libraries consist of two parts: one part contains the functionalities that the Java language needs to call, and the other part consists of the core libraries of the operating system. The application layer and application framework layer run in the 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.
[0205] The system library may include multiple functional modules. For example: a surface manager, a media framework, a 3D graphics processing library (e.g., OpenGL ES), and a 2D graphics engine (e.g., SGL). The surface manager manages the display subsystem and provides the fusion of 2D and 3D layers for multiple applications. The media framework supports playback and recording of various common audio and video formats, as well as still image files. The media framework can support various audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc. The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing. The 2D graphics engine is the drawing engine for 2D drawing. In some embodiments, the 3D graphics processing library can be used to draw 3D motion path images, and the 2D graphics engine can be used to draw 2D motion path images.
[0206] The kernel layer is the layer between hardware and software. The kernel layer includes at least the display driver, camera driver, audio driver, and sensor driver.
[0207] The hardware layer can include various types of sensors, such as accelerometers, gravity sensors, and touch sensors.
[0208] Based on the above system architecture, in this embodiment of the application, the window manager can perform cross-screen movement of windows based on user operations; the screen manager can manage the state of the electronic device, and when the electronic device is in a collapsed state, manage the position distribution of windows in the sub-screen, and can provide the window manager with the state information of the electronic device and the position distribution information of windows in the sub-screen; the event management module can obtain event information of user operations.
[0209] It should be understood that the software programs and / or modules corresponding to the software system architecture in the electronic device can be stored in the internal memory, and the processor can run the software programs and applications stored in the internal memory to execute the display method provided in the embodiments of this application.
[0210] Based on the system architecture shown in Figure 14 above, Figure 15 shows a flowchart illustrating how the display method provided in this application embodiment is implemented through the interaction between functional modules such as window manager and screen manager.
[0211] As shown in Figure 15, at 1500, the window manager can query the screen manager for the current state of the electronic device, such as whether the electronic device is currently in a folded or unfolded state. Optionally, the window manager can initiate queries to the screen manager at a set period, or it can initiate queries to the screen manager when a change in the folding axis angle of the electronic device is detected; this application does not impose any restrictions.
[0212] When a user performs the throw operation described in the embodiments of this application on the first window within the display area of the first sub-screen, the interaction process between the window manager and the screen manager is shown in Figures 1510, 1520 and 1530, respectively, according to the three stages included in the throw operation.
[0213] When a user presses the title bar of the first window within the display area of the first sub-screen using their finger or mouse, the interaction process shown in 1510 is triggered. Specifically, after the user presses the title bar of the first window within the display area of the first sub-screen, the event management module obtains the start event (down event), that is, it obtains relevant information about the down event, such as the timestamp and location information of the down event. This location information indicates the position of the first window within the display area of the first sub-screen when the down event occurs. The event management module passes the down event to the window manager, that is, it passes the relevant information of the down event to the window manager. The window manager determines whether the first window is a full-screen window. If it is a full-screen window, it exits full-screen mode; otherwise, it maintains the current mode (e.g., keeps the first window in free window mode). The window manager also determines the current state of the electronic device. If the electronic device is currently in a collapsed state, it marks the first window as exiting full-screen mode in the collapsed state.
[0214] Optionally, after the first window exits full-screen mode, the window manager can shrink the first window and adaptively adjust the cursor's position on the first window's title bar.
[0215] The view system and other functional modules can refresh the display area of the first sub-screen based on the relevant parameters of the first window provided by the window manager, thereby displaying the scaled-down first window within the display area of the first sub-screen. This process is not shown in the figure.
[0216] The interaction process shown in 1520 is triggered when the user moves the first window while holding down the mouse or finger. Specifically, when the user moves the first window while holding down the mouse or finger, the event management module receives the move event, i.e., it receives relevant information about the move event, such as the timestamp and position information. This position information indicates the position of the first window within the display area of the first sub-screen at that timestamp. The event management module then passes the move event to the window manager, i.e., it passes the relevant information about the move event to the window manager. The window manager determines the current state of the electronic device. If the electronic device is currently in a collapsed state, it determines the position of the first window based on the received event information.
[0217] It is understandable that during the process of the user moving the first window while keeping the finger or mouse pressed, the interaction process shown in 1520 is executed multiple times. That is, the interaction process shown in 1520 is executed once at each sampling moment, so as to obtain relevant information (such as time and position) of the sampling point corresponding to the current sampling moment on the path of the throwing operation.
[0218] As the user moves the first window while holding down the mouse button, the view system and other functional modules can refresh the display area of the first sub-screen based on the relevant parameters of the first window provided by the window manager, thus displaying the movement of the first window within the display area of the first sub-screen. This process is not shown in the figure.
[0219] When the user lifts their finger or mouse, the interaction process shown in 1530 is triggered. Specifically, when the user lifts their finger or mouse, the event management module can obtain the end event (up event), that is, obtain the relevant information of the up event, such as the timestamp and location information of the up event. This location information can indicate the position of the first window within the display area of the first sub-screen when the up event occurs. In this embodiment, the position of the up event is within the display area of the first sub-screen. The event management module passes the up event to the window manager, that is, it passes the relevant information of the up event to the window manager. The window manager determines the speed and / or direction of the throwing operation based on the received event information. If the speed and / or direction of the throwing operation meets the first condition, the subsequent steps of this process are executed; otherwise, the process is exited, and it can be processed in an existing conventional manner, such as as shown in Figure 3. This process is described using the example of the speed and / or direction of the throwing operation meeting the first condition. When the window manager determines that the speed and / or direction of the throwing operation meets the first condition, it queries the screen manager for the sub-screen where the first window is currently located, thereby determining the target sub-screen of the first window. The window manager also determines whether the first window is marked as exiting full-screen mode in a collapsed state. If so, it restores the first window to full-screen mode in the target child screen.
[0220] In one possible implementation, the window manager, after determining that the speed and / or direction of the throwing operation meets the first condition, can also determine the position of the first window within the display area of the target sub-screen (the second sub-screen in this process). The position of the first window within the display area of the target sub-screen may be one of the following: centered, full-screen, stacked with other windows, or the position of the first window within the display area of the target sub-screen is related to the speed and / or direction of the throwing operation, etc. For details, please refer to the relevant content in the foregoing embodiments.
[0221] In one possible implementation, if the speed and / or direction of the throwing operation meet the first condition, the window manager can also determine the window parameters (such as position, size, transparency, etc.) of multiple points on the path during the process of the first window moving from the position corresponding to the up event to the target position, according to a preset animation strategy.
[0222] The view system and other functional modules can refresh the display area of the first sub-screen based on the relevant parameters of the first window provided by the window manager. This allows the display of the animation of the first window moving from the position corresponding to the up event to the target position within the display area of the target sub-screen, and finally displaying it at the target position within the display area of the target sub-screen. This process is not shown in the figure.
[0223] It is understood that the interaction flow shown in Figure 15 above only illustrates the functional modules related to the method provided in the embodiments of this application. Those skilled in the art will understand that the window movement process may also involve other functional modules, such as drawing-related modules, display drivers, etc., which are not limited in this application.
[0224] It is understood that the interaction flow shown in Figure 15 above is only one possible example, and this application does not limit it.
[0225] It is understood that, in order to implement the functions of the electronic device in the above embodiments, the electronic device includes hardware and / or software structures corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and method steps of the various examples described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application scenario and design constraints of the technical solution.
[0226] Figure 16 is a schematic diagram of an electronic device provided in an embodiment of this application. Referring to Figure 16, the electronic device may include a processing module 1601 and a display module 1602. This electronic device can be used to implement the methods executed by the electronic device in the above embodiments. The electronic device may be the electronic device itself, or it may be a chip or chipset within the electronic device, or a part of a chip used to execute related methods.
[0227] When the electronic device 1600 is used to implement the functions of the electronic device in the embodiments of this application: the processing module 1601 is used to control the display module 1602 to display a first window in the display area of the first sub-screen; receive a first operation from the user on the first sub-screen, the first operation being used to drag the first window, the direction of the drag pointing to the second sub-screen, and the end position of the drag being located on the first sub-screen; in response to the first operation, move the first window from the display area of the first sub-screen to the display area of the second sub-screen.
[0228] A more detailed description of the processing module 1601 and the display module 1602 can be obtained directly from the relevant descriptions in the method embodiments shown in Figure 9 or Figure 15, and will not be repeated here.
[0229] It should be noted that the processing module can be implemented in software or hardware. For example, the following describes possible implementation methods for the processing module.
[0230] As an example of a software functional unit, a processing module may include code running on a computing instance. A computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned computing instance may be one or more. For example, a processing module may include code running on multiple hosts / virtual machines / containers.
[0231] As an example of a hardware functional unit, a processing module may include at least one computing device, such as a server. Alternatively, a processing module may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The aforementioned PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.
[0232] It should be noted that in other embodiments, the electronic device may include more or fewer modules, any module being used to perform any step in the backup and disaster recovery method, and the steps implemented by any module in the electronic device may be specified as needed, which is not limited in this application embodiment.
[0233] This application also provides an electronic device. As shown in FIG17, the electronic device 1700 includes: a bus 1702, a processor 1704, a memory 1706, a display screen 1707, and a communication interface 1708. The processor 1704, memory 1706, display screen 1707, and communication interface 1708 communicate with each other via the bus 1702. The electronic device 1700 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the electronic device 1700.
[0234] Bus 1702 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 17, but this does not imply that there is only one bus or one type of bus. Bus 1702 can include pathways for transmitting information between various components of electronic device 1700 (e.g., memory 1706, processor 1704, communication interface 1708).
[0235] Processor 1704 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0236] The memory 1706 may include volatile memory, such as random access memory (RAM). The processor 1704 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0237] The memory 1706 stores executable program code, and the processor 1704 executes the executable program code to implement the functions of the aforementioned processing module 1601, thereby implementing the method provided in the embodiments of this application. That is, the memory 1706 stores instructions for executing the method provided in the embodiments of this application.
[0238] The display screen 1707 can be used to receive control from the processor 1704 to move the window, thereby realizing the function of the aforementioned display module 1602 and thus realizing the method provided in the embodiments of this application.
[0239] The communication interface 1708 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement the aforementioned communication module functions, or to enable communication between the electronic device 1700 and other devices or communication networks.
[0240] Based on the above embodiments, this application also provides a computer program product containing instructions, which, when run on a computer, causes the computer to execute the methods described in the embodiments of this application.
[0241] Based on the above embodiments, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a computer, causes the computer to perform the methods described in the embodiments of this application.
[0242] Based on the above embodiments, this application also provides a chip for reading computer programs stored in a memory to implement the methods described in the embodiments of this application.
[0243] Based on the above embodiments, this application provides a chip system including a processor for supporting a computer device in implementing the methods described in the embodiments of this application. In one possible design, the chip system further includes a memory for storing necessary programs and data of the computer device. This chip system may be composed of chips or may include chips and other discrete devices.
[0244] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0245] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0246] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0247] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0248] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of protection of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
An interactive display method, characterized in that, An electronic device having a foldable display screen, wherein when the electronic device is in a folded state, the foldable display screen is folded into a first sub-screen and a second sub-screen, the method comprising: Display the first window in the display area of the first sub-screen; Receive a first operation from the user on the first sub-screen, the first operation being to drag the first window, the direction of the drag pointing towards the second sub-screen, and the end position of the drag being located on the first sub-screen; In response to the first operation, the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen. The method as described in claim 1, characterized in that, After receiving the user's first operation on the first sub-screen, the method further includes: Determine whether the speed and / or direction of the dragging meets the first condition; The step of moving the first window from the display area of the first sub-screen to the display area of the second sub-screen in response to the first operation includes: If the speed and / or direction of the dragging satisfies the first condition, then in response to the first operation, the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen. The method as described in claim 2, characterized in that, The speed and / or direction of the dragging satisfy the first condition, including: The dragging speed is greater than or equal to a speed threshold; or... The angle between the direction of the drag and the first reference line is less than or equal to an angle threshold. The first reference line is a straight line on a first plane perpendicular to the folding axis of the foldable display screen. The first plane is the plane where the first sub-screen is located, or the first plane is parallel to the plane where the first sub-screen is located; or... The dragging speed is greater than or equal to the speed threshold, and the angle between the dragging direction and the first reference line is less than or equal to the angle threshold. The method as described in any one of claims 1-3, characterized in that, The first window is not displayed in full screen within the display area of the first sub-screen; After the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed in either a non-full-screen or full-screen manner within the display area of the second sub-screen. The method as described in any one of claims 1-3, characterized in that, The first window is displayed in full screen within the display area of the first sub-screen; After the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed in full-screen or non-full-screen mode within the display area of the second sub-screen. The method as described in claim 5, characterized in that, The first operation includes a start event, a move event, and an end event; After moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed full-screen within the display area of the second sub-screen, including: In response to the start event, the first window is selected and exits full-screen mode; In response to the movement event, the first window that exits full-screen mode is moved; In response to the end event, the first window is moved to the display area of the second sub-screen, and the first window is restored to full-screen mode. The method as described in any one of claims 1-6, characterized in that, After the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the first window is displayed centered within the display area of the second sub-screen; or, After the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, the relative position of the first window in the display area of the second sub-screen remains unchanged from its relative position in the display area of the first sub-screen. The method as described in any one of claims 1-6, characterized in that, Moving the first window from the display area of the first sub-screen to the display area of the second sub-screen includes: Based on the correlation between the first information and the window position, the position of the first window in the display area of the second sub-screen is determined; wherein, the first information includes one or more of the following: the dragging speed, pressure, and direction; The first window is displayed at the specified location. The method as described in claim 8, characterized in that, Also includes: After the first window is moved from the display area of the first sub-screen to the display area of the second sub-screen, if the position of the first window changes within the display area of the second sub-screen within a first time period, the association relationship is updated based on the changed position of the first window and the first information. The method as described in any one of claims 1-9, characterized in that, If the height of the first window is greater than the height of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the upper edge of the first window coincides with the upper edge of the display area of the second sub-screen. And / or, If the width of the first window is greater than the width of the display area of the second sub-screen, then after moving the first window from the display area of the first sub-screen to the display area of the second sub-screen, the left edge of the first window coincides with the left edge of the display area of the second sub-screen. The method as described in any one of claims 1-10, characterized in that, Also includes: Receive a second operation from the user on the first sub-screen, the second operation being used to drag a second window displayed on the first sub-screen, the direction of the drag pointing towards the second sub-screen, and the end position of the drag being located on the first sub-screen; In response to the second operation, the second window is moved from the display area of the first sub-screen to the display area of the second sub-screen, and the second window is stacked on top of the first window and offset from it. The method as described in claim 11, characterized in that, The second window is located on top of the first window. An electronic device, characterized in that, It includes units or modules for performing the method as described in any one of claims 1-12. An electronic device, characterized in that, include: One or more processors are configured to perform the method as described in any one of claims 1-12. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed on the device, cause the device to perform the method as described in any one of claims 1-12. A chip system, characterized in that, Includes a processor for supporting a computer device in implementing the method as described in any one of claims 1-12. A computer program product, characterized in that, The computer program product includes a program; when the computer program is run on a computer, it causes the computer to perform the method as described in any one of claims 1-12.