Device icon display method, electronic device and storage medium
Through the preset position set and position calculation function, the position calculation of device icons in the control center interface is simplified, the problems of cumbersome operation and insufficient versatility in the prior art are solved, and efficient and universal icon position display is achieved.
Patent Information
- Application Number
- CN202310862253.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-12
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2043-07-12
AI Technical Summary
In the prior art, the display method of device icons on the control center interface lacks universality and scalability, especially when the number of device icons changes, it is necessary to reconfigure the position calculation method in each number of scenarios, which is cumbersome and has low efficiency. .
Using preset position set and position calculation function, the slave icon position information in any number of scenarios is determined by calling the position calculation function, the icon position calculation process is simplified, the calculation efficiency and interface refresh efficiency are improved, and each type is not required to be exhaustive again. How to calculate the quantitative scenario.
It realizes the universality and scalability of device icon position calculation, simplifies the operation process, improves the computing efficiency and interface refresh speed, and adapts to changes in different numbers of scenarios.
Smart Images

Figure CN117707384B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of terminal technology, and in particular to a method for displaying a device icon, an electronic device, and a storage medium. Background Art
[0002] Multi-device collaboration is a technology applied to multiple electronic devices. Using multi-device collaboration technology, two or more electronic devices can collaborate across systems and devices to achieve resource sharing and collaborative operations. As users' demand for terminal technology increases, the unified management of multi-device collaboration has become the key to the development of collaborative technology. Multi-device collaborative unified management means that users can use the control center interface of a device to perform collaborative services or establish connections with different devices.
[0003] In order to achieve collaborative and unified management of multiple devices, the device icons of the device and other devices can be displayed on the control center interface of a device, and the user can trigger collaborative services between devices by operating these device icons. Among them, the device that displays the control center interface can be called the master device, and the other devices can be called slave devices. For example, the master device icon is displayed in the center of the interface of the control center interface, and the slave device icons are displayed around the master device icon. However, when the number of slave device icons is different, the distribution position of the slave device icons is also different. In the related art, it is stipulated that the upper limit of the slave device icons that can be displayed in the control center interface is 6, and the position calculation method corresponding to each quantity scenario in these 6 quantity scenarios is exhaustively listed. The position calculation formula corresponding to each quantity scenario is used to calculate the position information of each slave device icon in the control center interface under the quantity scenario. After the control center interface is triggered, the master device can first detect the number of slave devices, and then calculate the position information of each slave device icon under the quantity scenario by the corresponding position calculation method according to the number of slave devices, so as to display the corresponding number of slave device icons on the control center interface according to the calculated position information.
[0004] However, when the upper limit of the number of slave device icons that can be displayed on the control center interface changes, the distribution method of the slave device icons will also change. It is necessary to reconfigure the corresponding coordinate calculation method for each quantity scenario, so that the position of each slave device icon can be calculated according to the reconfigured coordinate calculation method in each quantity scenario. The operation is relatively cumbersome, so this icon position calculation method lacks versatility and scalability. Summary of the invention
[0005] The present application provides a method for displaying a device icon, an electronic device, and a storage medium, which can simplify the calculation process of calculating the position of a slave device icon and improve the versatility and scalability of the icon position calculation method. The technical solution is as follows:
[0006] In a first aspect, a method for displaying a device icon is provided, which is applied to a first electronic device, and the method includes:
[0007] In response to an operation that triggers the control center interface, the number N of slave devices is determined; a position calculation function is called based on N, and the position information of N slave device icons corresponding to N is determined through the position calculation function; based on the position information of the N slave device icons, the control center interface is displayed, and the control center interface displays N slave device icons at positions corresponding to the position information of the N slave device icons.
[0008] Wherein, the slave device refers to a second electronic device that can be connected to the first electronic device, and N is a positive integer. The position calculation function is used to determine the position information of any number of slave device icons through a preset position set. Wherein, the preset position set and the position calculation function are both pre-configured, and the preset position set includes the position information of the slave device icons corresponding to each number of slave device icons (hereinafter referred to as quantity) in different numbers of slave device icons. For example, the preset position set includes the position information of all or part of the slave device icons corresponding to each number in a plurality of numbers, and the position calculation function is used to determine the position information of any number of slave device icons in a plurality of numbers according to the preset position set. The position information of each slave device icon is used to indicate the position of the corresponding slave device icon in the control center interface.
[0009] In this way, in any scenario of the number of slave devices, the position information of each slave device icon in the corresponding number scenario can be calculated by calling the position calculation function, without the need to pre-enumerate the position calculation methods under different number of slave device scenarios. When it is necessary to calculate the position information of the slave device icon, the position calculation method under the current number of slave devices scenario is determined from the exhaustive position calculation methods, and the position information of each slave device icon is calculated according to the determined position calculation method, thereby simplifying the calculation process of calculating the position of the slave device icon, improving the efficiency of calculating the position of the slave device icon, and further improving the efficiency of refreshing the position of the slave device icon in the control center interface. Moreover, when the upper limit of the number of slave device icons that can be displayed on the control center interface changes, by reconfiguring the position information of the slave device icons corresponding to each number under the upper limit in the preset position set, the position calculation function can be used to calculate the slave device icons corresponding to each number under the upper limit, without the need to re-enumerate the calculation method corresponding to each number scenario under the upper limit. Therefore, the universality and scalability of this icon position calculation method are relatively high.
[0010] The device icon may be presented in the form of a device ball. For example, the device ball may be a small ball containing a device identifier, the device identifier may be a device name, a device number, or a device graphic identifier, etc., and the graphic identifier may be a device appearance diagram, etc. Of course, the device icon may also be presented in other forms, which are not limited in the present application embodiment.
[0011] As an example, the preset position set includes position information of all or part of the slave device icons corresponding to each number of slave device icons in different numbers of slave device icons. For example, the preset position set includes position information of the first P slave device icons corresponding to each number of slave device icons in multiple numbers of slave device icons, where P is a rounded value of half of the corresponding number of slave device icons.
[0012] In this way, the storage content of the preset position set can be simplified, reducing the amount of calculation of the position calculation function to determine the position information of any number of slave device icons through the preset position set, thereby improving the calculation efficiency of calculating the positions of slave device icons.
[0013] As an example, N slave device icons may be distributed on at least one semi-elliptical ring, where a semi-elliptical ring refers to the upper half or lower half of an elliptical ring. The position calculation function is called according to N, and before the position information of the N slave device icons corresponding to N is determined by the position calculation function, the L semi-elliptical rings used to distribute the N slave device icons and the number of slave device icons to be distributed on each semi-elliptical ring may be determined according to N and the maximum number of slave device icons allowed to be distributed on each semi-elliptical ring for distributing the slave device icons, where L is a positive integer. Among them, the L semi-elliptical rings include a first semi-elliptical ring, and the position calculation function is called according to N. The operation of determining the position information of the N slave device icons corresponding to N by the position calculation function may also include: calling the position calculation function according to N, the number M of slave device icons to be distributed on the first semi-elliptical ring, and the full position information of the first semi-elliptical ring, and determining the position information of the M slave device icons by the position calculation function, and the full position information of the first semi-elliptical ring includes the position information of multiple position points on the first semi-elliptical ring.
[0014] In this way, the slave device icons to be distributed on each half of the elliptical ring and the position information of each slave device icon can be accurately determined, thereby improving the accuracy of determining the position information of the slave device icons.
[0015] As an example, a plane coordinate system can be established with the direction perpendicular to the side of the screen of the electronic device as the X-axis direction and the direction parallel to the side of the screen of the electronic device as the Y-axis direction. The position information of the slave device ball can be the X-axis coordinate indication information of the slave device icon, and the X-axis coordinate indication information of the slave device icon is used to indicate the X-axis coordinate of the slave device icon on the control center interface. For example, the X-axis coordinate indication information of the slave device ball can be the X-axis coordinate of the slave device ball, or the distance in the X-axis direction between the slave device ball and the specified point. For example, the slave device balls are distributed on an elliptical ring around the master device ball, and the specified point is the left end point of the elliptical ring. The master device ball can be located at a fixed position such as the interface center of the control center interface.
[0016] As an example, the slave device balls are distributed on an elliptical ring centered on a preset position, wherein the preset position may be the master device icon, the center of the interface, a position within a preset range of the master device icon, or a position within a preset range of the center of the interface, etc., which is not limited in the present embodiment of the application.
[0017] As an example, the preset position set includes multiple numbers of slave device icons and X-axis coordinate indication information of the first P slave device icons corresponding to each number of slave devices, where P is a rounded value corresponding to half of the number of slave device icons.
[0018] As an example, the operation of determining the position information of M slave device icons through a position calculation function includes: determining the X-axis coordinates of the first T slave device icons among the M slave device icons through a preset position set based on N and M, where T is a value rounded to half of M; determining the X-axis coordinates of the last T slave device icons among the M slave device icons based on the X-axis coordinates of the first T slave device icons, and the first T slave device icons and the last T slave device icons are symmetric about the Y-axis; determining the X-axis coordinates of the M slave device icons based on the X-axis coordinates of the first T slave device icons and the last T slave device icons; determining the Y-axis coordinates of the M slave device icons based on the X-axis coordinates of the M slave device icons through the full coordinates of the first semi-elliptical ring.
[0019] For each semi-elliptical ring of the slave device icons to be distributed, the X-axis coordinates of the portion of the slave device icons located on the left side of the current semi-elliptical ring are first calculated, and then the X-axis coordinates of the portion of the slave device icons located on the right side of the current semi-elliptical ring which are symmetrical about the Y axis with the portion of the slave device icons on the left side are calculated, and then the Y-axis coordinates of each slave device icon are determined through the full coordinates of the current semi-elliptical ring, thereby simplifying the algorithm for calculating the position information of the slave device icons, thereby reducing the amount of calculation and improving the efficiency of calculating the position information of the slave device icons.
[0020] As an example, the X-axis coordinates of the first T slave device icons among the M slave device icons can be determined by the preset position set corresponding to the first semi-elliptical ring according to N and M. That is, different preset position sets can be set in advance for different semi-elliptical rings, and when determining the position information of the slave device icon on a semi-elliptical ring, the position information of the slave device icon on the semi-elliptical ring can be determined by the preset position set corresponding to the semi-elliptical ring.
[0021] In addition, different preset position sets can be pre-set for different elliptical rings, and the same preset position set can be set for the upper half elliptical ring and the lower half elliptical ring on the same elliptical ring. For example, in a widescreen display scenario, the slave device icons can be distributed on multiple elliptical rings around the master device icon. In this scenario, different preset position sets can be pre-set for different elliptical rings.
[0022] Of course, the same preset position set can also be set for different semi-elliptical rings. For example, in a narrow screen display scenario, the slave device icons can be distributed on multiple lower semi-elliptical rings around the master device icon. In this scenario, the same preset position set can be pre-set for different lower semi-elliptical rings.
[0023] As an example, the X-axis coordinates of the first T slave device icons may be determined based on the X-axis coordinate indication information of the first P slave device icons corresponding to N included in the preset position set.
[0024] In an example, determining the X-axis coordinates of the first T slave device icons according to the X-axis coordinate indication information of the first P slave device icons corresponding to N included in the preset position set may include the following two implementation methods:
[0025] The first implementation method: determine the X-axis coordinates of the first T slave device icons according to the X-axis coordinate indication information of the first T slave device icons in the first P slave device icons corresponding to N.
[0026] For example, when the first electronic device is in a narrow screen display scenario, the first implementation method may be used to determine the X-axis coordinates of the first T slave device icons.
[0027] The narrow screen display scenario refers to a scenario where the aspect ratio of the screen of the first electronic device is greater than a preset ratio. For example, the narrow screen display scenario includes one or more of the following scenarios: the first electronic device is a non-folding screen mobile phone and is in a vertical screen display state; the first electronic device is a tablet device and is in a vertical screen display state.
[0028] For example, when the first electronic device is in a narrow screen display scenario, the X-axis coordinate indication information of the slave device icon stored in the preset position set may be the X-axis coordinate of the corresponding slave device icon, that is, the distance between the corresponding slave device icon and the left side of the screen.
[0029] The second implementation method: determine the X-axis coordinates of the first T slave device icons based on the X-axis coordinate indication information and offset of the first P slave device icons corresponding to N, and the offset is determined based on the number of slave device icons to be distributed on the second semi-elliptical ring, the second semi-elliptical ring is the last semi-elliptical ring among the T semi-elliptical rings for which position information of the slave device icons to be distributed has been determined before the first semi-elliptical ring, or is a semi-elliptical ring among the T semi-elliptical rings for which position information of the slave device icons to be distributed has been determined before the first semi-elliptical ring and is located on the same elliptical ring as the first semi-elliptical ring.
[0030] For example, when the first electronic device is in a widescreen display scenario, the second implementation method may be used to determine the X-axis coordinates of the first T slave device icons.
[0031] The widescreen display scene refers to a scene in which the aspect ratio of the screen of the first electronic device is less than or equal to a preset ratio. For example, the widescreen display scene includes one or more of the following scenes: the first electronic device is a folding screen device and is in a portrait display state in an unfolded state; the first electronic device is a folding screen device and is in a landscape display state in an unfolded state; the first electronic device is a tablet device and is in a landscape display state; the first electronic device is a non-folding screen mobile phone and is in a landscape display state.
[0032] For example, when the first electronic device is in a narrow screen display scenario, the X-axis coordinate indication information of the slave device icon stored in the preset position set may be the distance between the corresponding slave device icon and the left end point of the specified semi-elliptical ring.
[0033] The designated semi-elliptical ring may be any one of the L semi-elliptical rings, for example, the current semi-elliptical ring.
[0034] By distinguishing the application scenarios of the first electronic device into wide-screen display scenarios and narrow-screen display scenarios, and using different methods to calculate the coordinates of the part of the slave device icon located on the left side of the current semi-elliptical ring in different scenarios, the accuracy and efficiency of calculating the coordinates of the slave device icon in different scenarios can be improved.
[0035] As an example, if the first electronic device has not yet displayed the control center interface, the control center interface is displayed, and the positions of the N slave device icons are refreshed on the displayed control center interface according to the position information of the N slave device icons. If the first electronic device has already displayed the control center interface, the positions of the N slave device icons are refreshed on the displayed control center interface according to the position information of the N slave device icons.
[0036] As an example, the X-axis coordinate indication information is the X-axis coordinate, and the X-axis coordinates of the first T slave device icons are determined based on the X-axis coordinate indication information of the first T slave device icons sorted in front of the first P slave device icons corresponding to N, including: determining the X-axis coordinates of the first T slave device icons sorted in front of the first P slave device icons corresponding to N as the X-axis coordinates of the first T slave device icons.
[0037] As an example, the X-axis coordinates of the first T slave device icons are determined based on the X-axis coordinate indication information and offset of the first P slave device icons corresponding to N, including: determining the X-axis coordinates of the first T slave device icons based on the coordinate position information of T slave device icons among the first P slave device icons corresponding to N that are offset backward by the offset with the first slave device icon as the starting point.
[0038] As an example, the X-axis coordinate indication information is the distance between the corresponding slave device icon and the left endpoint of the specified semi-elliptical ring, and the specified semi-elliptical ring is any one of L semi-elliptical rings; the X-axis coordinates of the first T slave device icons are determined based on the coordinate position information of the first P slave device icons corresponding to N, which is offset backward by the offset from the first slave device icon as the starting point, including: determining the X-axis coordinates of the first T slave device icons based on the width of the specified semi-elliptical ring, the screen width of the first electronic device, and the coordinate position information of the first T slave device icons corresponding to N, which is offset backward by the offset from the first slave device icon as the starting point.
[0039] By setting the offset and determining the X-axis coordinates of the first T slave device icons according to the offset, duplication in the X-axis coordinates of the first T slave device icons can be avoided, thereby improving the accuracy of calculating the positions of the slave device icons.
[0040] As an example, the X-axis coordinates of the first T slave device icons are determined according to the width of a specified semi-elliptical ring, the screen width of the first electronic device, and the coordinate position information of T slave device icons among the N corresponding first P slave device icons that are offset backward by the offset with the first slave device icon as the starting point, including: determining the X-axis coordinates of the first T slave device icons according to the difference between half the screen width of the first electronic device and half the width of the specified semi-elliptical ring, and the coordinate position information of T slave device icons among the N corresponding first P slave device icons that are offset backward by the offset with the first slave device icon as the starting point.
[0041] As an example, determining the X-axis coordinates of the M slave device icons according to the X-axis coordinates of the first T slave device icons and the last T slave device icons includes the following two cases:
[0042] The first case: if M is an odd number, the X-axis coordinate of the (M+1) / 2th slave device icon among the M slave device icons is determined according to the screen width of the first electronic device or the X-axis coordinate of the main device icon, the X-axis coordinates of the first T slave device icons, the last T slave device icons and the (M+1) / 2th slave device icon are the X-axis coordinates of the M slave device icons, and the main device icon is the device icon of the first electronic device.
[0043] The second case: if M is an even number, the X-axis coordinates of the first T slave device icons and the last T slave device icons are the X-axis coordinates of the M slave device icons.
[0044] In this way, in addition to accurately determining the coordinates of the slave device icons located on the left and right sides of the current semi-elliptical ring, the coordinates of the slave device icon located in the middle of the semi-elliptical ring can also be accurately determined. For example, the coordinates of the slave device icon located directly below or above the master device icon can be accurately determined. This improves the distribution flexibility of the slave device icons.
[0045] As an example, the first T slave device icons include a first slave device icon, and the operation of determining the X-axis coordinates of the last T slave device icons among the M slave device icons based on the X-axis coordinates of the first T slave device icons includes: determining the X-axis coordinate of a second slave device icon among the last T slave device icons that is symmetrical to the first slave device icon based on the difference between the screen width of the first electronic device and the X-axis coordinate of the first slave device icon.
[0046] As an example, M slave device icons include a third slave device icon. The operation of determining the Y-axis coordinates of the M slave device icons based on the X-axis coordinates of the M slave device icons through the full coordinates of the first semi-elliptical ring includes: obtaining the Y-axis coordinate of the position point that is the same as the X-axis coordinate of the third slave device icon from the full coordinates of the first semi-elliptical ring; and determining the obtained Y-axis coordinate as the Y-axis coordinate of the third slave device icon.
[0047] As an example, when the first electronic device is in a wide-screen display scene, N slave device icons are distributed on at least one elliptical ring, each elliptical ring includes an upper half elliptical ring and a lower half elliptical ring, the upper half elliptical ring is the upper half of an elliptical ring, and the lower half elliptical ring is the lower half of an elliptical ring. The wide-screen display scene refers to a scene in which the aspect ratio of the screen of the first electronic device is less than or equal to a preset ratio; when the first electronic device is in a narrow-screen display scene, N slave device icons are distributed on at least one lower half elliptical ring, and the narrow-screen display scene refers to a scene in which the aspect ratio of the screen of the first electronic device is greater than a preset ratio.
[0048] By setting different distribution modes for slave device icons in different scenarios, the distribution mode of slave device icons can be more adapted to the current device scenario, thereby improving the flexibility of displaying slave device icons on the control center interface.
[0049] In a second aspect, a device icon display apparatus is provided, wherein the device icon display apparatus has the function of implementing the device icon display method behavior in the first aspect. The device icon display apparatus comprises at least one module, wherein the at least one module is used to implement the device icon display method provided in the first aspect.
[0050] In a third aspect, a device for displaying device icons is provided, wherein the structure of the device icon displaying device includes a processor and a memory, wherein the memory is used to store a program that supports the device icon displaying device to execute the device icon displaying method provided in the first aspect, and to store data involved in implementing the device icon displaying method described in the first aspect. The processor is configured to execute the program stored in the memory. The device icon displaying device may also include a communication bus, wherein the communication bus is used to establish a connection between the processor and the memory.
[0051] In a fourth aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computer, the computer executes the method for displaying device icons described in the first aspect.
[0052] In a fifth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method for displaying device icons as described in the first aspect.
[0053] The technical effects obtained by the above-mentioned second, third, fourth and fifth aspects are similar to the technical effects obtained by the corresponding technical means in the above-mentioned first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] Figure 1 It is a process schematic diagram of a flat panel display control center interface provided by an embodiment of the present application;
[0055] Figure 2 This is a schematic diagram of an interface for realizing device collaboration through a control center interface provided by an embodiment of the present application;
[0056] Figure 3 This is a schematic diagram of an interface for disconnecting a collaborative connection of devices through a control center interface provided by an embodiment of the present application;
[0057] Figure 4This is a schematic diagram of the distribution positions of slave device icons in different quantity scenarios provided by an embodiment of the present application;
[0058] Figure 5 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application;
[0059] Figure 6 is a block diagram of a software system of an electronic device provided in an embodiment of the present application;
[0060] Figure 7 It is an architectural block diagram of an application layer provided in an embodiment of the present application;
[0061] Figure 8 It is a schematic diagram of an architecture diagram deployment of an application layer provided in an embodiment of the present application;
[0062] Fig. 9 It is a schematic diagram of displaying the control center interface in several widescreen display scenarios provided in the embodiments of the present application;
[0063] Fig.10 It is a schematic diagram of X-axis coordinate indication information of a slave device ball provided in an embodiment of the present application;
[0064] Fig.11 It is a schematic diagram of displaying the control center interface in several narrow screen display scenarios provided in the embodiments of the present application;
[0065] Fig.12 is a schematic diagram of another X-axis coordinate of a slave device ball provided in an embodiment of the present application;
[0066] Fig.13 is a flow chart of a method for displaying a device icon provided in an embodiment of the present application;
[0067] Fig.14 is a schematic diagram of the full coordinates of an elliptical ring provided in an embodiment of the present application;
[0068] Fig.15 is a flow chart of a method for determining the coordinates of a slave device ball through a position calculation function provided by an embodiment of the present application;
[0069] Fig.16 is a flow chart of another method for determining the coordinates of a slave device ball by using a position calculation function provided by an embodiment of the present application;
[0070] Fig.17 This is a flowchart of another device ball display method provided in an embodiment of the present application. DETAILED DESCRIPTION
[0071] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0072] It should be understood that the "multiple" mentioned in this application refers to two or more. In the description of this application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate the clear description of the technical solution of this application, the words "first" and "second" are used to distinguish between the same items or similar items with basically the same functions and effects. Those skilled in the art can understand that the words "first" and "second" do not limit the quantity and execution order, and the words "first" and "second" do not limit them to be different.
[0073] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way. In the description of the embodiments of the present application, unless otherwise stated, the meaning of "multiple" refers to two or more. For example, multiple processing units refer to two or more processing units; multiple systems refer to two or more systems.
[0074] Before explaining in detail the method for displaying a device icon provided in the embodiment of the present application, the application scenario involved in the embodiment of the present application is first explained.
[0075] Multi-device collaboration is a distributed technology applied to multiple electronic devices. Using multi-device collaboration technology, two or more electronic devices can collaborate across systems and devices to achieve resource sharing and collaborative operation.
[0076] Multi-device collaboration can be applied to electronic devices of the same or different types. The types of electronic devices include but are not limited to mobile phones, tablet computers, laptops, large-screen devices (such as smart TVs, smart screens), personal computers (persona1computers, PCs), handheld computers, netbooks, personal digital assistants (personal digital assistants, PDAs), wearable electronic devices, vehicle-mounted devices, virtual reality devices, and other devices.
[0077] Multi-device collaboration needs to be implemented based on the communication connection between devices. The communication connection can be a wired communication connection or a wireless communication connection. Among them, the solution for wired communication connection can include USB On-The-Go (OTG) technology, for example; the solution for wireless communication can include wireless fidelity (Wi-Fi), Wi-Fi Direct (Wi-Fi Direct), Bluetooth (BT), near field communication (NFC), infrared technology (IR), etc.
[0078] With the continuous development of terminal technology, multi-device collaboration has produced a variety of different collaboration types (also known as collaborative services), such as multi-screen collaboration (including screen extension, screen mirroring and screen sharing), keyboard and mouse collaboration, call collaboration, and handover collaboration.
[0079] Screen mirroring: All contents on the screen of electronic device A are completely mirrored on the screen of electronic device B. The contents of electronic device A displayed on electronic device B are the same as those displayed on electronic device A, and change as the contents displayed on electronic device A change.
[0080] Screen extension: Use the screen of electronic device B as the secondary screen of electronic device A. Electronic device A can transfer part of the content it needs to display to the secondary screen for display. The screen of electronic device A and the screen of electronic device B can display content together, thereby expanding the display capability of electronic device A.
[0081] Screen sharing: Projecting the user interface of electronic device A onto the screen of electronic device B for display, allowing the user to operate the user interface of electronic device A on electronic device B, and transferring files from electronic device B to electronic device A by performing specific operations on electronic device B (for example, dragging and dropping files from the user interface of electronic device B to the user interface of electronic device A), thereby realizing cross-device operations and cross-device file transfers between electronic devices A and B. The user interface of electronic device A can be displayed in any area of the screen of electronic device B, or in full screen.
[0082] Keyboard and mouse collaboration: Electronic device A and electronic device B can share each other's original input devices, such as mouse, keyboard, etc. For example, the input device of electronic device A is shared with electronic device B, and the shared input device can be used for input in both electronic device A and electronic device B. In addition, in the keyboard and mouse sharing type, files can be transferred between electronic devices A and B.
[0083] Continuation collaboration: When a user runs an application on electronic device A, the interface of electronic device B can prompt the user to open the application running on electronic device A on electronic device B, so as to transfer to electronic device B for continued operation, such as watching videos, editing documents, etc. For example: a document application is running on electronic device A, and the document application can be a memo, word, etc. The user is editing a document on electronic device A. When electronic device B and electronic device A are close to each other, a prompt message is displayed on electronic device B, and the user clicks on the prompt message on electronic device B. In response to the user's click operation, electronic device B opens the document application and displays the location where the user is editing, so that the user can transfer to electronic device B to continue editing, etc.
[0084] Call collaboration: When electronic device A receives an incoming voice call or video call, the incoming call interface can be displayed on electronic device B simultaneously, so that the user can choose to answer or hang up the call on electronic device B.
[0085] Notification collaboration: When electronic device A receives a notification message, the notification message can be displayed synchronously in electronic device B, and the user can also perform operations such as reply, delete, and read on the notification message in electronic device B.
[0086] Among the multiple collaboration types listed above, some collaboration types are initiated by the first electronic device (generally the initiator of multi-device collaboration) to the second electronic device (generally the participant of multi-device collaboration) in response to user operations, which can be called manual collaboration services, such as screen expansion, screen sharing, keyboard and mouse collaboration, etc. Some collaboration types are automatically triggered when the triggering rules are met when the user turns on the function, which can be called automatic collaboration services, such as call collaboration, notification collaboration and connection collaboration.
[0087] Take the manual collaboration service as an example:
[0088] If the first electronic device is a mobile phone and the second electronic device is a tablet computer, the collaboration types supported by the first electronic device may include screen sharing.
[0089] If the first electronic device is a non-folding screen mobile phone, and the second electronic device is a PC, the collaboration types it supports may include keyboard and mouse collaboration and screen sharing. When the non-folding screen mobile phone and the PC trigger a connection for the first time, the default collaboration type may be screen sharing.
[0090] If the first electronic device is a foldable screen mobile phone and the second electronic device is a PC, the collaboration types supported by it may include keyboard and mouse collaboration, screen sharing, screen mirroring and screen extension. Among them, when the foldable screen mobile phone and the PC trigger the connection for the first time, the default collaboration type may be screen sharing.
[0091] If the first electronic device is a mobile phone and the second electronic device is a large-screen device, the collaboration types it supports may include screen projection.
[0092] If the first electronic device is a tablet computer and the second electronic device is a mobile phone, the collaboration types supported by the first electronic device may include:
[0093] If the first electronic device is a tablet computer and the second electronic device is a PC, the collaboration types supported by the first electronic device may include screen mirroring, screen extension, and keyboard and mouse collaboration. When the tablet computer and the PC are connected for the first time, the default collaboration type may be screen mirroring.
[0094] If the first electronic device is a tablet computer and the second electronic device is a large-screen device, the collaboration types supported by the first electronic device may include screen projection.
[0095] If the first electronic device is a PC and the second electronic device is a non-folding screen mobile phone, the supported collaboration types may include keyboard and mouse collaboration and screen sharing. Among them, when the PC and the non-folding screen mobile phone trigger the connection for the first time, the default collaboration type may be screen sharing.
[0096] If the first electronic device is a PC and the second electronic device is a foldable screen mobile phone, the supported collaboration types may include keyboard and mouse collaboration, screen sharing, screen mirroring and screen extension. Among them, when the PC and the foldable screen mobile phone trigger the connection for the first time, the default collaboration type may be screen sharing.
[0097] If the first electronic device is a PC and the second electronic device is a tablet computer, the collaboration types supported by the first electronic device may include screen mirroring, screen extension, and keyboard and mouse collaboration. When the PC and the tablet computer are connected for the first time, the default collaboration type may be screen mirroring.
[0098] If the first electronic device is a PC and the second electronic device is a large-screen device, the collaboration types supported by the first electronic device may include screen projection.
[0099] Take the automatic collaboration service as an example:
[0100] Electronic devices that support call collaboration may include mobile phones, tablets, PCs, large-screen display devices, etc.
[0101] Electronic devices that support notification collaboration may include mobile phones, tablets, PCs, etc.
[0102] Electronic devices that support continuous collaboration may include mobile phones, tablets, PCs, large-screen display devices, etc.
[0103] At present, with the increasing demand of users for terminal technology, the coordinated and unified management of multiple devices has become the key to the development of coordinated technology. The coordinated and unified management of multiple devices means that users can use the control center interface of a device to realize the function of establishing connections with different devices to perform coordinated services. For example, the control center interface of a mobile device presents the device icon of the mobile device and the device icons of all other devices that can establish connections with the mobile device. The other devices are device A, device B, and device C. In the control center interface of the mobile device, by operating the presented device icons, the mobile phone can be coordinated with device A, with device B and device C, and the ongoing coordinated services between device A and other devices can be terminated.
[0104] As an example, the control center interface can be the main interface of the control center application, and the control center application is used to control the collaborative business application to implement collaborative business. In other words, the control center interface is the control entrance for collaborative business, and users can control the device collaboration between the current device and other devices by operating on the control center interface. For example, users can view nearby online devices and quickly establish device collaboration through the control center interface. Among them, online devices refer to devices that can establish a collaborative connection with the current device. For example, device conditions that support establishing a collaborative connection with the current device may include: turning on Wi-Fi and Bluetooth functions, and / or, devices that log in to the same account as the current device. Of course, device conditions that support establishing a collaborative connection with the current device may also include other conditions, which are not limited to the embodiments of the present application.
[0105] For ease of explanation, the device that displays the control center interface will be referred to as a master device (first electronic device) below, and the device that can be connected to the master device to achieve multi-device collaboration will be referred to as a slave device (second electronic device).
[0106] As an example, the main device icon can be displayed at a fixed position such as the center of the interface of the control center interface of the main device, and the slave device icons can be distributed around the main device icon. For example, the slave device icons can be distributed and displayed on an elliptical ring centered on the main device icon. By way of example, the device icon can be presented in the form of a device ball. For example, the device ball can be a small ball that contains a device identifier. The device identifier can be a device name, a device number, or a graphic identifier of the device, etc. The graphic identifier can be a device appearance diagram, etc. Of course, the device icon can also be presented in other forms, which is not limited in the embodiments of the present application.
[0107] Next, taking a tablet as an example, the control center interface displayed on the main device is exemplified.
[0108] Please refer to Figure 1 , Figure 1Schematic diagram of a process of a flat panel display control center interface provided by an embodiment of the present application. Figure 1 As shown in FIG. 1 (a), the tablet displays a main interface 101, which includes application icons such as file management, email, music, and calculator, and may also include other application icons. The user performs a downward swipe operation from the top of the screen, and in response to the user's downward swipe operation, the tablet displays the following Figure 1 The notification bar interface 102 shown in FIG. (b) includes multiple quick switch setting windows and smart interconnection cards. Each quick switch setting window includes multiple quick switches, for example, one of the quick switch setting windows includes a WIFI quick switch and a Bluetooth quick switch. The smart interconnection card is used to trigger the control center interface. Of course, the notification bar interface 102 may also include a notification window, other quick switch windows or other cards, etc., which is not limited in the present embodiment of the application.
[0109] When Wi-Fi and Bluetooth are turned on on the tablet, the user can click on the smart interconnection card in the notification bar interface 102. In response to the user's click operation, the tablet searches for slave devices that can establish a collaborative connection with the current device, and displays the following information based on the number of slave devices found: Figure 1 The control center interface 103 is shown in FIG. (c) of FIG. Figure 1 As shown in Figure (c), the control center interface 103 displays a master device ball and three slave device balls. Among them, the master device is a tablet, and the master device ball is a graphic logo of a pad wrapped in a gray ball. The three slave devices are a large-screen display device, a laptop computer, and a mobile phone. The slave device ball corresponding to the large-screen display device is a graphic logo of a smart TV wrapped in a white ball, the slave device ball corresponding to the laptop computer is a graphic logo of a magic book wrapped in a white ball, and the slave device ball corresponding to the mobile phone is a graphic logo of a Magic pro wrapped in a white ball. In the control center interface, dragging the slave device ball Magic pro to the master device ball can trigger the service connection between the master device and Magic pro; dragging the slave device ball smart TV to the master device ball can trigger the service connection between the master device and smart TV.
[0110] It should be noted that Figure 1 The example of triggering the control center interface by clicking on the smart interconnection card is used for explanation. It is understandable that the control center interface can also be triggered by other methods, such as triggering the display through relevant setting options of the setting interface, etc. The embodiment of the present application does not limit this.
[0111] Please refer to Figure 2 , Figure 2 Schematic diagram of an interface for realizing device collaboration through a control center interface provided by an embodiment of the present application. Figure 2 In the control center interface 103 shown in Figure (a), the user can drag the slave device ball Magic pro to the master device ball. After dragging the slave device ball Magic pro to the master device ball, the tablet (master device) can be triggered to establish a multi-screen collaborative connection with Magic pro. During the process of establishing a connection between the tablet and Magic pro, the tablet can display the following Figure 2 The control center interface 104 and prompt window 11 shown in Figure (b) of the figure, the control center interface 104 displays the prompt message "Connecting to 'Magic pro'", the prompt window 11 is displayed on the upper layer of the control center interface 104, and the prompt window 11 displays a schematic diagram of establishing a connection with Magic pro. After the tablet successfully establishes a multi-screen collaborative connection with Magic pro, Magic pro can project the display content of its own screen to the tablet, so that the tablet can display the projection screen of Magic pro on the display screen. Please refer to Figure 2 As shown in Figure (c), after the tablet successfully establishes a multi-screen collaborative connection with Magic pro, the tablet can display the control center interface 105, and the control center interface 105 displays a prompt message "Connected to 'Magic pro'". In addition, the tablet can also display a projection window 12 on the upper layer of the control center interface 105, and the projection window 12 is used to display the projection screen of Magic pro, that is, the screen displayed on the display screen of Magic pro. In addition, the tablet can also display a quick setting window 13 on the control center interface 105, and the quick setting window 13 includes a multi-screen collaborative control and a disconnect control. Among them, the multi-screen collaborative control is used to turn on or off the multi-screen collaboration between the tablet and Magic pro. The disconnect control is used to disconnect the connection between the tablet and Magic pro.
[0112] Please refer to Figure 3 , Figure 3 This is a schematic diagram of an interface for disconnecting a device collaborative connection through a control center interface provided by an embodiment of the present application. Figure 3 In the control center interface 105 shown in Figure (a), if the user wants to disconnect the tablet from Magicpro, he can click Figure 3 In response to the user's click operation, the tablet disconnects from Magic Pro and displays the following: Figure 3The control center interface 106 and the prompt window 14 shown in (b) of FIG. 1 are shown in the prompt window 14, which shows that the tablet and Magic pro are disconnected, and a prompt message "Magic pro is disconnected". In addition, the prompt window 14 also displays a reconnect option and a cancel option. If the user wants to re-establish the connection between the tablet and Magic pro, the user can click the reconnect option. In response to the user clicking the reconnect option, the tablet can re-establish the connection with Magic pro. After the connection is established, the user can also click the cancel option. In response to the user clicking the cancel option, the tablet can also cancel the connection with Magic pro. Canceling the connection includes: canceling the operation of establishing the connection when the connection is not established, and disconnecting the established connection when the connection has been established.
[0113] For a master device, when the number of its slave devices is different, that is, the number of slave device icons that need to be displayed on the control center interface is different, the distribution position of the slave device icons on the control center interface is also different. That is, in different quantity scenarios, the distribution position of the slave device icons is different. For example, please refer to Figure 4 , Figure 4 1 is a schematic diagram of the distribution position of slave device icons in different number scenarios provided by an embodiment of the present application. When the number of slave devices is 6, the 4 slave device balls corresponding to the 6 slave devices can be arranged as follows: Figure 4 The distribution shown in Figure (a) is distributed on an elliptical ring centered on the master device ball, where 3 slave device balls are distributed on the left side of the master device ball and 3 slave device balls are distributed on the right side of the master device ball. When the number of slave devices is 3, the 3 master device balls corresponding to these 3 slave devices can be arranged as follows: Figure 4 The distribution shown in Figure (b) is distributed on an elliptical ring centered on the master device ball, wherein one slave device ball is distributed on the left side of the master device ball, one slave device ball is distributed on the right side of the master device ball, and one slave device ball is distributed directly below the master device ball.
[0114] In some embodiments, the upper limit of the number of slave device icons that can be displayed in the control center interface is specified to be 6, and the position calculation methods corresponding to each of the 6 quantity scenarios are exhaustively enumerated. The position calculation formula corresponding to each quantity scenario is used to calculate the position information of each slave device icon in the control center interface under the quantity scenario. If the control center interface is triggered in a certain scenario, the master device can first detect the number of slave devices, and then determine the position calculation method corresponding to the current quantity scenario from the exhaustive position calculation methods based on the detected number of slave devices, calculate the position information of each slave device icon in the current quantity scenario through the determined position calculation method, and display the corresponding number of slave device icons on the control center interface based on the calculated position information. For ease of explanation, the position information of the device icon in the control center interface is referred to as the position information of the device icon below.
[0115] However, when the upper limit of the number of slave device icons that can be displayed on the control center interface changes, the distribution method of slave device icons in various quantity scenarios will also change. In this case, it is necessary to re-enumerate the calculation method corresponding to each quantity scenario in order to calculate the position information of each slave device icon in each quantity scenario according to the re-determined coordinate calculation method. Therefore, this icon position calculation method is relatively cumbersome to operate and lacks versatility and scalability.
[0116] In response to the above problems, an embodiment of the present application provides a method, device and storage medium for displaying device icons. In any scenario with any number of slave devices, after the master device receives an operation to trigger the control center interface, in response to the operation, the master device can call a position calculation function based on the number of slave devices N, determine the position information of the N slave device icons through the position calculation function, and display these N slave device icons on the control center interface according to the position information of the N slave device icons.
[0117] Among them, the preset position set and the position calculation function are both pre-configured, the preset position set includes the position information of the slave device icons corresponding to each number of slave device icons (hereinafter referred to as number) in different numbers of slave device icons, and the position calculation function is used to determine the position information of any number of slave device icons according to the preset position set. For example, the preset position set includes the position information of all or part of the slave device icons corresponding to each number in multiple numbers, and the position calculation function is used to determine the position information of any number of slave device icons in multiple numbers according to the preset position set.
[0118] In this way, in any scenario of the number of slave devices, the position information of each slave device icon in the corresponding number scenario can be calculated by calling the position calculation function, without the need to pre-enumerate the position calculation methods under different number of slave device scenarios. When it is necessary to calculate the position information of the slave device icon, the position calculation method under the current number of slave devices scenario is determined from the exhaustive position calculation methods, and the position information of each slave device icon is calculated according to the determined position calculation method, thereby simplifying the calculation process of calculating the position of the slave device icon, improving the efficiency of calculating the position of the slave device icon, and further improving the efficiency of refreshing the position of the slave device icon in the control center interface. Moreover, when the upper limit of the number of slave device icons that can be displayed on the control center interface changes, by reconfiguring the position information of the slave device icons corresponding to each number under the upper limit in the preset position set, the position calculation function can be used to calculate the slave device icons corresponding to each number under the upper limit, without the need to re-enumerate the calculation method corresponding to each number scenario under the upper limit. Therefore, the universality and scalability of this icon position calculation method are relatively high.
[0119] The display method of the device icon provided in the embodiment of the present application is applied to electronic devices, which may also be referred to as terminals, user equipment (UE), mobile stations (MS), mobile terminals (MT), etc. The electronic devices may be mobile phones, smart TVs, wearable devices, tablet computers (Pad), computers with wireless transceiver functions, virtual reality (VR) electronic devices, augmented reality (AR) electronic devices, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, etc. The embodiments of the present application do not limit the specific technology and specific device form used by the electronic devices.
[0120] Please refer to Figure 5 , Figure 5 1 is a schematic diagram of the structure of an electronic device 100 (taking a mobile phone as an example) provided in an embodiment of the present application. The electronic device can be used as the first electronic device in multi-device collaboration, or as the second electronic device in multi-device collaboration. Figure 5 The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0121] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0122] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0123] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0124] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0125] In some embodiments, the processor 110 may include one or more interfaces, such as an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0126] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0127] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0128] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0129] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0130] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0131] The electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0132] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode or an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device 100 may include 1 or N display screens 194, where N is an integer greater than 1.
[0133] The electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.
[0134] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0135] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created by the electronic device 100 during use (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0136] The electronic device 100 can implement audio functions, such as music playback, recording, etc., through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D and the application processor.
[0137] The electronic device 100 also includes various sensors that can convert various physical signals into electrical signals. For example, the pressure sensor 180A is used to sense pressure signals and can convert pressure signals into electrical signals. In some embodiments, the pressure sensor 180A can be set on the display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. The capacitive pressure sensor can be a parallel plate including at least two conductive materials. When a force acts on the pressure sensor 180A, the capacitance between the electrodes changes. The electronic device 100 determines the intensity of the pressure based on the change in capacitance. When a touch operation acts on the display screen 194, the electronic device 100 detects the touch operation intensity according to the pressure sensor 180A. The electronic device 100 can also calculate the touch position according to the detection signal of the pressure sensor 180A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than a pressure threshold acts on a short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.
[0138] The touch sensor 180K is also called a "touch panel". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen". The touch sensor 180K is used to detect touch operations acting on or near it. The touch sensor 180K can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180K can also be set on the surface of the electronic device 100, which is different from the position of the display screen 194.
[0139] The above is a specific description of the embodiment of the present application using the electronic device 100 as an example. It should be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 100. The electronic device 100 may have more or fewer components than those shown in the figure, may combine two or more components, or may have different component configurations. The various components shown in the figure may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits.
[0140] The electronic device provided in the embodiments of the present application may be a user equipment (UE), for example, a mobile terminal (such as a user's mobile phone), a tablet computer, a desktop computer, a laptop computer, a handheld computer, a netbook, a personal digital assistant (PDA), and the like.
[0141] In addition, an operating system is running on the above components, such as the iOS operating system developed by Apple, the Android open source operating system developed by Google, and the Windows operating system developed by Microsoft. Application programs can be installed and run on the operating system.
[0142] The operating system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present application takes the Android system of the layered architecture as an example to exemplify the software structure of the electronic device 100.
[0143] Figure 6 1 is a block diagram of a software system of an electronic device 100 provided in an embodiment of the present application. Figure 6 The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom, namely, the application layer, the application framework layer, the Android runtime (Android runtime) and the system layer, and the kernel layer.
[0144] The application layer can include a series of application packages. Figure 6 As shown, the application package may include applications such as camera, gallery, calendar, call, map, WLAN, Bluetooth, music, video, multi-device collaborative application, etc. For example, the multi-device collaborative application may include a control center application.
[0145] The application framework layer provides application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions. Figure 6As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, etc. The window manager is used to manage window programs. The window manager can obtain the size of the display screen, determine whether there is a status bar, lock the screen, capture the screen, etc. The content provider is used to store and obtain data and make these data accessible to applications. These data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc. The view system includes visual controls, such as controls for displaying text, controls for displaying pictures, etc. The view system can be used to build the display interface of the application, and the display interface can be composed of one or more views, for example, including a view for displaying a text message notification icon, including a view for displaying text, and including a view for displaying pictures. The phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including connecting, hanging up, etc.). The resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, etc. The notification manager enables the application to display notification information in the status bar, which can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of an icon or scroll bar text, such as a notification of an application running in the background. The notification manager can also be a notification that appears on the screen in the form of a dialog window, such as a text message in the status bar, a reminder sound, an electronic device vibrating, an indicator light flashing, etc.
[0146] Android Runtime includes core libraries and virtual machines. Android Runtime is responsible for scheduling and management of the Android system. The core library consists of two parts: one is the function that the Java language needs to call, and the other is the Android core library. The application layer and the application framework layer run in the virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0147] The system library can include multiple functional modules, such as: surface manager, media library, 3D graphics processing library (such as: OpenGL ES), 2D graphics engine (such as: SGL), etc. The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications. The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of 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, synthesis, and layer processing, etc. The 2D graphics engine is a drawing engine for 2D drawing.
[0148] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
[0149] In addition, the device icon display method provided in the embodiment of the present application can also be applied to a collaborative work system, wherein the collaborative work system includes the hardware structure of the first electronic device and the second electronic device.
[0150] The device icon display method of the embodiment of the present application is mainly applied to the application layer of the electronic device. Specifically, it is applied to the capability layer, business layer and control layer of the application layer. Figure 7 , Figure 7 It is an architectural block diagram of an application layer provided in an embodiment of the present application.
[0151] The business layer includes the control center display interface and business application set. The control center display interface is a human-computer interaction interface, which is used to display the multi-device collaborative interaction interface, including the system user interface (SystemUI), notification bar card and control center interface.
[0152] SystemUI provides a loading window for the pull-down notification bar card, through which the business status of the device's online business can be loaded.
[0153] Notification bar cards are used to present business status content and can also be used to trigger the control center interface. For example, notification bar cards can be Figure 1 The smart interconnected card shown in Figure (b) in the figure.
[0154] The control center interface is used to display the full-screen UI interface, such as displaying device information such as the master device icon and slave device icon, and allowing users to perform collaborative business operations based on the displayed device information. The control center interface can also be called the control center full-screen interface, or the control center main interface, etc.
[0155] In addition, the control center display interface also integrates the control center SDK for interacting with the control layer.
[0156] The business application set is used to provide business use, receive business scheduling and perform business processing. The business application set integrates collaborative services such as keyboard and mouse collaboration, call collaboration, connection collaboration, and multi-screen collaboration. It can also integrate the device service management software development kit (Software Development Kit, SDK) corresponding to each collaborative service. Among them, the device service management SDK refers to the SDK used to write and read the device service management module. The device service management module is used to synchronize device data. The business application set can also integrate other collaborative services and their corresponding configuration SDKs. In an embodiment of the present application, other collaborative services are services that meet the connection between the first electronic device and other devices. In addition, the business layer also integrates the control center SDK for interacting with the control layer.
[0157] The control layer is the core module of the multi-device collaborative unified management architecture, including the communication module, device management module, business status management module and business scheduling management module, as well as the communication module SDK corresponding to the communication module, and the device service management SDK corresponding to the device management module and the business status management module. In addition, the control layer also includes a position calculation function, which is used to calculate the position information of each corresponding slave device icon according to the number of slave devices.
[0158] The communication module implements communication between the two control centers, including cross-device command distribution and cross-device query, and is connected to the communication module of the capability layer through the communication module SDK. The communication module is also used to implement the control center to transfer when the service requires communication before establishing a connection. If the first electronic device issues a connection instruction, but this device cannot initiate it and needs to be initiated by the second electronic device, the instruction is established by the second electronic device.
[0159] The device management module is used to obtain and manage the online and offline information, capability information, service status, etc. of the devices with the same account as the first electronic device from the device service management module in real time through the device service management SDK. The device management module includes online devices, connection status management and all device capability sets. Among them, the online device is used to query the current online device. The online device refers to the second electronic device that can be connected to the first electronic device. The online device can also be called a slave device, or an online slave device. The connection status management is used to query whether the current device is connected and whether it can be connected. The all device capability set is used to obtain multiple device states of all devices. The device status includes the device online and offline information, capability information, service status, etc.
[0160] The service status management module is used to read the service information supported by the first electronic device and the surrounding online devices from the device service management module in real time through the device management service SDK, such as the service capability list supported by this application, service switches, whether the service can be scheduled by the control center, the specific device type supported by a certain service, the connection scheme supported by a specific service, the current service operation status, etc. The service status management module includes the service set of this device and the service status management. Among them, the service set of this device queries the service set supported by this device, and the service status management is used to query the service status supported by the surrounding devices, and receive the external service status change update status synchronization to the control center display interface.
[0161] The service scheduling management module is used to judge service conflicts, issue prompts to users, and issue service instructions according to user intentions, that is, to connect, switch, and disconnect services according to user selection and service conflict callback services. The service scheduling management module includes service conflict scheduling and service connection management. Service conflict scheduling is used for conflict resolution. For example, mobile phones support screen projection and pads support screen projection, but the two cannot coexist due to notification restrictions, and service conflict scheduling is required to resolve service conflicts. Service connection management is used to manage whether multiple devices have collaborative services and whether they can be connected.
[0162] In addition, the control layer may also include a setting management module. The setting management module is used to manage the relevant settings of the control center, including mode settings and the like.
[0163] The capability layer includes the same account discovery, old business discovery compatibility and connection transmission of the communication module, which is used to realize device connection, transmission and discovery. The capability layer also includes the device service management module, which is used to realize device data synchronization, such as online and offline information, capability information, service status and other device data synchronization.
[0164] See also Figure 8 , Figure 8 It is a schematic diagram of an application layer architecture deployment provided in an embodiment of the present application, which is applied to the Android platform.
[0165] This architecture diagram exists in the form of an Android installation package (Android Package, APK) on the Android platform.
[0166] Specifically, the system user interface (SystemUI), notification bar card and control center interface included in the business layer exist in the form of APK. For example, the control center interface is implemented through Control Center UI.APK. Business application sets, such as notification collaboration, connection collaboration, multi-screen collaboration and other services exist in the form of APK. Therefore, the business layer is also called the business APK layer, which includes multiple business APKs, each of which represents a specific collaborative business.
[0167] The communication module, device management module, service status management module, service scheduling management module, location calculation function, and setting management module in the control layer all exist in the form of APK. Therefore, the control layer exists in the form of control center APK, such as through Control Center.APK.
[0168] The device service management module in the capability layer exists in the form of APK, for example, it is implemented by XDevice Profile.APK. The communication module exists in the form of APK, for example, it is implemented by XMagiclink.APK.
[0169] Among them, the system interface APK, notification bar card APK, control center interface APK, and cross-device service APK interact with the control center APK through the control center SDK. The control center APK interacts with the device service management APK through the device service management SDK and communicates with the communication module APK through the communication module SDK. Moreover, the control center APK integrates the location calculation function provided in the embodiment of this application.
[0170] In order to better illustrate a method for displaying a device icon provided in an embodiment of the present application, the following takes an Android device as an example to introduce in detail the process of interacting between the control center APK and the control center interface APK to realize the display of the device icon.
[0171] When an operation that triggers the control center interface is received, such as Figure 1 As shown in Figure (b), when receiving the operation of the user clicking the smart interconnection card, in response to the operation, the control center APK obtains the number of online slave devices from the device service management APK through the device service management module SDK, calls the position calculation function according to the number of slave devices, and determines the position information of each slave device icon corresponding to the number of slave devices through the position calculation function. Then, the control center APK sends a display instruction carrying the position information of the slave device icon to the control center interface APK through the control center SDK, and the control center interface APK displays the slave device icon at the corresponding position of the control center interface according to the position information of the slave device icon carried in the display instruction.
[0172] In addition, when collaborative business operations are received based on the control center interface, such as Figure 2 As shown in Figure (a), when the user drags the white ball on the control center interface, in response to the user's dragging operation, the control center APK sends the scheduling instruction to the business APK through the control center SDK, thereby realizing the interaction between the control center APK and the business APK, thereby realizing collaborative business operations.
[0173] The following takes the example of a device icon being a device ball and slave device balls distributed on an elliptical ring around a master device ball to introduce in detail the position calculation function and preset position set involved in an embodiment of the present application, as well as how the present application scheme, in the above application scenario, can achieve the determination of the position information of any number of slave device balls through a position calculation function.
[0174] Next, we will introduce the preset location set in detail.
[0175] In one example, the preset position set includes the position information of the first P slave device balls corresponding to each of the multiple quantities. Wherein, P is the value rounded to half of the corresponding quantity. For example, if the number of slave device balls is N, then P=int(N / 2). Wherein, the position information of the slave device ball is used to indicate the position of the slave device ball in the control center interface. For example, the position information of the slave device ball can be the coordinates of the slave device ball.
[0176] In one example, a plane coordinate system can be established with the direction perpendicular to the side of the screen of the electronic device as the X-axis direction and the direction parallel to the side of the screen of the electronic device as the Y-axis direction. The position information of the slave device ball included in the preset position set can be the X-axis coordinate indication information of the slave device ball. Among them, the X-axis coordinate indication information is used to indicate the X-axis coordinate. For example, the X-axis coordinate indication information of the slave device ball can be the X-axis coordinate of the slave device ball, or the distance in the X-axis direction between the slave device ball and the specified point. For example, the slave device balls are distributed on an elliptical ring around the master device ball, and the specified point is the left end point of the elliptical ring. The master device ball can be located at a fixed position such as the interface center of the control center interface.
[0177] The elliptical ring around the main device ball refers to an elliptical ring surrounding the main device ball, such as an elliptical ring centered on the main device ball, or an elliptical ring centered on a certain point within a preset range of the main device ball.
[0178] Among them, the preset position set can be implemented in the form of a matrix or in other data forms, such as in the form of a list, which is not limited in the embodiment of the present application.
[0179] In one example, different preset position sets may be set for different application scenarios. That is, in different application scenarios, the position calculation function may determine the position information of the slave device ball through different preset position sets.
[0180] Next, the preset position sets in different scenarios are introduced.
[0181] Scene 1, widescreen display scene.
[0182] The widescreen display scene refers to a scene in which the display screen of the main device is in a widescreen display state. The widescreen display state refers to a state in which the aspect ratio of the screen image is less than or equal to a preset ratio. The aspect ratio of the screen image refers to the ratio of the height to the width of the screen image, that is, the ratio of the vertical to the horizontal direction of the screen image. The preset ratio can be pre-set, and the embodiments of the present application do not limit this.
[0183] As an example, the widescreen display scene may include the following scenes:
[0184] 1) The main device is a foldable screen device (such as a foldable screen mobile phone) and is in the vertical screen display state when it is unfolded.
[0185] 2) The main device is a foldable screen device and is in the horizontal screen display state when it is unfolded.
[0186] 3) The main device is a tablet device and is in landscape display mode.
[0187] 4) The main device is a non-foldable screen mobile phone and is in landscape display mode.
[0188] 5) The main device is a foldable screen device and is in a horizontal screen display state when folded.
[0189] That is, when the master device is in the above four scenarios, the master device is in a widescreen display state. Of course, the widescreen display scenario may also include other scenarios, which are not limited in the embodiment of the present application.
[0190] In the embodiment of the present application, the slave device balls are distributed in an elliptical ring around the master device ball as an example for illustration. In a widescreen display scenario, since the screen is wide enough, the control center interface of the master device can display a complete elliptical ring, and accordingly, the slave device balls can be distributed in either the upper half or the lower half of the elliptical ring.
[0191] Please refer to Fig. 9 , Fig. 9 Schematic diagram of the display control center interface in several widescreen display scenarios provided by the embodiment of the present application. Fig. 9 Figure (a) is a schematic diagram of the control center interface displayed when the foldable screen device is in the unfolded state and the vertical screen display state. Fig. 9 Figure (b) is a schematic diagram of the control center interface displayed when the foldable screen device is in the unfolded state and the horizontal screen display state. Fig. 9 Figure (c) is a schematic diagram of the control center interface displayed when the tablet device is in landscape mode. Fig. 9 Figure (d) in FIG. 1 is a schematic diagram of the control center interface displayed when a non-folding screen mobile phone is in the horizontal display state. Fig. 9 As shown, in Fig. 9 In the several widescreen display scenarios shown, the control center interface of the master device can completely display the elliptical ring around the master device ball, and the slave device balls can be distributed in the upper half or the lower half of the elliptical ring.
[0192] For widescreen display scenarios, since the control center interface of the master device can fully display the elliptical ring around the master device ball, the X-axis coordinate indication information of the slave device ball can be defined based on the elliptical ring, such as using the distance between the slave device ball and the left end point of the elliptical ring as the X-axis coordinate indication information of the slave device ball. For example, the preset position set for the widescreen display scenario includes: the X-axis coordinate indication information of the first P slave device balls corresponding to each number of slave device balls among the multiple numbers of slave device balls, and the X-axis coordinate indication information refers to the distance between the left end point of the elliptical ring around the master device ball.
[0193] Please refer to Fig.10 , Fig.10 Schematic diagram of the X-axis coordinate indication information of a slave device ball provided in an embodiment of the present application. Fig.10 As shown, when the main device is in a widescreen display scenario, the control center interface of the main device can fully display an elliptical ring with the main device ball as the center, and the slave device balls are distributed on the elliptical ring. The X-axis coordinate indication information of the slave device ball smart TV is the distance between the device ball smart TV and the left end point of the elliptical ring.
[0194] In one example, the preset position set can be implemented in the form of a matrix, which is also called a two-dimensional array. The first-dimensional subscript i of the two-dimensional array is used to indicate the number of slave device balls, and the second-dimensional subscript j is used to indicate the number of slave device balls in the corresponding slave device balls indicated by the first-dimensional subscript i.
[0195] As an example, the preset position set may be a matrix as shown in the following table 1:
[0196] Table 1
[0197] 0 1 2 3 4 5 0 1 182 2 116 3 32 182 4 15 116 5 56 32 182 6 ... ... ...
[0198] Among them, the first column of Table 1 is the first-dimensional subscript of the matrix, which is used to indicate the number of different slave device balls; the first row of Table 1 is the second-dimensional coordinate of the matrix, which is used to indicate the number of slave device balls in the slave device balls corresponding to the number of slave device balls indicated by the corresponding first-dimensional subscript. For example, the number of slave device balls indicated by the first-dimensional subscript i is i+1. For example, if i=0, the number of slave device balls it indicates is 1. For another example, the second-dimensional subscript j is used to indicate the j+1th slave device ball in the corresponding i+1 slave device balls. The two-dimensional array [i][j] represents the X-axis coordinate indication information of the j+1th slave device ball in the i+1 slave device balls in the scenario where there are a total of i+1 slave device balls.
[0199] [0][0] in Table 1 indicates that in a scenario where there is one slave device ball, the X-axis coordinate indication information of the slave device ball is undefined. As an example, in a scenario where there is one slave device ball, the X-axis coordinate of the slave device ball can be preset, such as the X-axis coordinate of the slave device ball is a preset position such as the X-axis midpoint of the display screen, and therefore does not need to be defined in the preset position set.
[0200] [1][0] in Table 1 indicates the distance between the first slave sphere and the left end point of the elliptical ring when there are two slave spheres in total.
[0201] [2][0] in Table 1 indicates the distance between the first slave sphere and the left end point of the elliptical ring when there are three slave spheres in total.
[0202] [3][0] in Table 1 indicates the distance between the first slave ball and the left end point of the elliptical ring when there are 4 slave balls in total; [3][1] indicates the distance between the second slave ball and the left end point of the elliptical ring.
[0203] [4][0] in Table 1 indicates the distance between the first slave ball and the left end point of the elliptical ring when there are five slave balls in total; [4][1] indicates the distance between the second slave ball and the left end point of the elliptical ring.
[0204] [5][0] in Table 1 indicates the distance between the first slave sphere and the left end point of the elliptical ring when there are 6 slave spheres in total; [5][1] indicates the distance between the second slave sphere and the left end point of the elliptical ring; and [5][2] indicates the distance between the third slave sphere and the left end point of the elliptical ring.
[0205] And so on.
[0206] It should be noted that the above description is only an illustrative description based on the example of a widescreen display scenario in which the slave device balls are distributed in an elliptical ring around the master device ball. It can be understood that in other embodiments, multiple elliptical rings can be set around the master device ball, and the slave device balls can also be distributed in multiple elliptical rings. The embodiments of the present application do not limit this.
[0207] When multiple elliptical rings are arranged around the master device ball and the slave device balls can be distributed in multiple elliptical rings, preset position sets can be set for the multiple elliptical rings respectively. The preset position set corresponding to each elliptical ring is used to determine the distance between the slave device balls to be distributed on the elliptical ring and the left end point of the elliptical ring. The preset position set corresponding to each elliptical ring includes the distance between the first P slave device balls corresponding to each number of slave device balls among different numbers of slave device balls to be distributed on the elliptical ring and the left end point of the elliptical ring.
[0208] For example, if three elliptical rings of different sizes are set around the master device ball, the slave device balls can be distributed on one or more of the three elliptical rings according to the number, and then corresponding preset position sets can be set for the three elliptical rings respectively, for example, setting the corresponding preset position set 1 for the innermost elliptical ring 1, setting the corresponding preset position set 2 for the middle elliptical ring 2, and setting the corresponding preset position set 3 for the outermost elliptical ring 1.
[0209] Scenario 2: narrow screen display scenario.
[0210] The narrow screen display scene refers to a scene in which the display screen of the main device is in a narrow screen display state. The narrow screen display state refers to a state in which the aspect ratio of the screen image is greater than a preset ratio, that is, the ratio of the vertical to horizontal length of the screen image.
[0211] As an example, the narrow screen display scenario may include the following application scenarios:
[0212] 1) The main device is a non-foldable screen mobile phone and is in portrait display mode.
[0213] 2) The main device is a tablet device and is in portrait display mode.
[0214] 3) The main device is a foldable screen device and is in a vertical screen display state when folded.
[0215] That is, when the main device is in the above two application scenarios, it is determined that the main device is in a widescreen display state. Of course, the widescreen display scenario may also include other application scenarios, which are not limited in the present embodiment of the application.
[0216] In the embodiment of the present application, the slave device balls are distributed in an elliptical ring around the master device ball as an example for illustration. In a widescreen display scenario, since the screen is narrow, the control center interface of the master device may not be able to display the complete elliptical ring, that is, only a part of the elliptical ring can be displayed. In this case, the slave device balls can be set to be distributed only in the lower half of the elliptical ring.
[0217] Please refer to Fig.11 , Fig.11 Schematic diagram of displaying the control center interface in several narrow screen display scenarios provided by the embodiments of the present application. Fig.11 Figure (a) is a schematic diagram of the control center interface displayed when the tablet device is in vertical display mode. Fig.11 Figure (b) is a schematic diagram of the control center interface displayed on a non-folding screen mobile phone in the vertical display state. Fig.11 As shown, in Fig.11 In the several narrow screen display scenarios shown, the control center interface of the master device can only display the part of the elliptical ring around the master device ball, and the slave device balls are only distributed in the lower half of the elliptical ring.
[0218] For narrow screen display scenarios, since the control center interface of the master device cannot fully display the elliptical ring around the master device ball, the X-axis coordinate indication information of the slave device ball is not defined based on the elliptical ring, but is defined based on the display screen. For example, the X-axis coordinate of the slave device ball in the plane coordinate system is used as the X-axis coordinate indication information of the slave device ball. For example, the preset position set for the narrow screen display scenario includes: the X-axis coordinates of the first P slave device balls corresponding to each number of slave devices among the multiple numbers of slave devices.
[0219] Please refer to Fig.12 , Fig.12 is a schematic diagram of another X-axis coordinate of a slave device ball provided in an embodiment of the present application. Fig.12 As shown, when the main device is in a narrow screen display scenario, the control center interface of the main device cannot fully display the elliptical ring centered on the main device ball, and the slave device balls are distributed in the lower half of the elliptical ring. The X-axis coordinate indication information of the slave device ball smart TV1 is the distance between the device ball smart TV and the left side of the screen.
[0220] As an example, the X-axis coordinates of different slave device icons in the first P slave device balls corresponding to each slave device quantity in the preset position set can be represented by the product of the screen width and different ratios. In this way, the X-axis coordinate indication information of different slave device icons is defined by the screen width.
[0221] In one example, the preset position set can be implemented in the form of a matrix, which is also called a two-dimensional array. The first-dimensional subscript i of the two-dimensional array is used to indicate the number of slave device balls, and the second-dimensional subscript j is used to indicate the number of slave device balls in the corresponding slave device balls indicated by the first-dimensional subscript i.
[0222] As an example, the preset position set may be a matrix as shown in the following table 2:
[0223] Table 2
[0224] 0 1 2 3 4 5 0 1 0.27*screenWidth 2 0.18*screenWidth 3 ... ... ...
[0225] Among them, the first column of Table 2 is the first-dimensional subscript of the matrix, which is used to indicate the number of different slave device balls; the first row of Table 2 is the second-dimensional coordinate of the matrix, which is used to indicate the number of slave device balls in the slave device balls corresponding to the number of slave device balls indicated by the corresponding first-dimensional subscript. For example, the number of slave device balls indicated by the first-dimensional subscript i is i+1. For example, if i=0, the number of slave device balls it indicates is 1. For another example, the second-dimensional subscript j is used to indicate the j+1th slave device ball in the corresponding i+1 slave device balls. The two-dimensional array [i][j] represents the X-axis coordinate of the j+1th slave device ball in the i+1 slave device balls in the scenario where there are a total of i+1 slave device balls. Among them, screenWidth represents the screen width.
[0226] [0][0] in Table 1 indicates that in a scenario where there is one slave device ball, the X-axis coordinate of the slave device ball is undefined. As an example, in a scenario where there is one slave device ball, the X-axis coordinate of the slave device ball can be preset, such as the X-axis coordinate of the slave device ball is a preset position such as the X-axis midpoint of the display screen, and therefore does not need to be defined in the preset position set.
[0227] [1][0] in Table 1 indicates the distance between the first slave device ball and the left edge of the screen when there are two slave device balls in total.
[0228] [2][0] in Table 1 indicates the distance between the first slave device ball and the left edge of the screen when there are three slave device balls in total.
[0229] And so on.
[0230] It should be noted that the above description is only an illustrative description based on the example of a widescreen display scenario in which the slave device balls are distributed in an elliptical ring around the master device ball. It can be understood that in other embodiments, multiple elliptical rings can be set around the master device ball, and the slave device balls can also be distributed in multiple elliptical rings. The embodiments of the present application do not limit this.
[0231] In the embodiment of the present application, since the X-axis coordinate of the slave device ball is defined according to the screen width instead of the elliptical ring to be distributed, multiple elliptical rings are set around the master device ball. In this case, the slave device balls can be distributed in the lower half of one or more elliptical rings according to the quantity. It is only necessary to set a corresponding preset position set, and the X-axis coordinate of the slave device balls to be distributed on each elliptical ring can be determined by the preset position set.
[0232] Since in the above widescreen scenario, the slave device balls can be distributed in the upper half or the lower half of the elliptical ring around the master device, for the above widescreen display scenario, each elliptical ring around the master device can be divided into two semi-elliptical rings: an upper semi-elliptical ring and a lower semi-elliptical ring, the upper semi-elliptical ring being the upper half of the elliptical ring, and the lower semi-elliptical ring being the lower half of the elliptical ring. For example, the elliptical rings around the master device can be divided into: the upper semi-elliptical ring and the lower semi-elliptical ring of the first elliptical ring, the upper semi-elliptical ring and the lower semi-elliptical ring of the second elliptical ring, and so on.
[0233] Since in the above narrow screen scenario, the slave device balls are only distributed in the lower half of the elliptical ring around the master device, for the above wide screen display scenario, the elliptical ring around the master device can be divided into: the lower half of the first elliptical ring, the lower half of the second elliptical ring, and so on.
[0234] Next, the position calculation function is introduced in detail.
[0235] In the embodiment of the present application, when the position information of the slave device ball needs to be calculated, the position calculation function can be called according to the number of slave devices, and the position information of each slave device ball under the number scenario can be calculated by the position calculation function. That is, the input of the position calculation function is the number of slave devices N, and the output is the position information of N slave device balls.
[0236] The position calculation function integrates a preset position set and a preset algorithm. After the position calculation function is called, the position calculation function can determine the position information of each slave device ball in the N slave device balls according to the input number N of slave devices through the preset position set and the preset algorithm.
[0237] The preset position set used by the position calculation function after being called is a preset position set corresponding to the display scene of the master device. For example, if the master device is in a wide screen display scene, the preset position set is a preset position set corresponding to the wide screen display scene. If the master device is in a narrow screen display scene, the preset position set is a preset position set corresponding to the narrow screen display scene.
[0238] In the embodiment of the present application, the algorithm logic of the position calculation function is as follows: according to the number of slave devices N input, the X-axis coordinates of the part of the slave device balls located on the left side of the master device ball are determined through the preset position set, and then the X-axis coordinates of the part of the slave device balls located on the right side of the master device ball are determined according to the X-axis coordinates of the part of the slave device balls located on the left side of the master device ball and the axisymmetric relationship, wherein the part of the slave device balls located on the left side of the master device ball and the part of the slave device balls located on the right side of the master device ball are symmetrical about the Y axis. Then, according to the X-axis coordinates of the slave device balls on the left side and the slave device balls on the right side of the master device ball, the X-axis coordinates of the N slave device balls are determined. After that, according to the X-axis coordinates of the N slave device balls and the full coordinates of the elliptical ring, the Y-axis coordinates of the N slave device balls are determined, thereby obtaining the X-axis coordinates and Y-axis coordinates of the N slave device balls. Among them, the full coordinates of the elliptical ring include the coordinates of multiple position points on the elliptical ring, and the coordinates of each position point include the X-axis coordinate and the Y-axis coordinate.
[0239] According to the X-axis coordinates of the slave device balls on the left and right of the master device ball, determining the X-axis coordinates of the N slave device balls includes the following two cases:
[0240] The first case: when the N slave device balls only include some slave device balls on the left side and some slave device balls on the right side of the master device ball, for example, when N is an even number, the X-axis coordinates of the slave device balls on the left side and the slave device balls on the right side of the master device ball are the X-axis coordinates of the N slave device balls.
[0241] The second case: when the N slave device balls include not only some slave device balls on the left side and some slave device balls on the right side of the master device ball, but also slave device balls located above or below the master device ball, for example, when N is an odd number, the X-axis coordinate of the master device ball can also be determined as the X-axis coordinate of the slave device balls located above or below the master device ball. In this way, the X-axis coordinates of some slave device balls on the left side and some slave device balls on the right side of the master device ball, as well as the slave device balls located above or below the master device ball are the X-axis coordinates of the N slave device balls.
[0242] There may be one or more slave device balls located above or below the master device ball. In addition, the slave device balls located above or below the master device ball may also be located on one or more elliptical rings. This embodiment of the present application does not limit this.
[0243] As an example, the number of semi-elliptical rings to be distributed on the N slave device balls corresponding to the N slave devices can be determined according to the number of slave devices N, and the position calculation function can be called according to the number of slave devices N and the number of semi-elliptical rings to be distributed. For example, when the number of semi-elliptical rings to be distributed is 1, the position calculation function is called once, and the position information of the N slave device balls is determined by the position calculation function called once. When the number of semi-elliptical rings to be distributed is multiple, the position calculation function can also be called multiple times, and the position information of the N slave device balls is determined by the position calculation function called multiple times.
[0244] As an example, when there are multiple semi-elliptical rings to be distributed, the position calculation function can be called once for each semi-elliptical ring to be distributed, and the position information of each slave device ball to be distributed on the semi-elliptical ring is determined by calling the position calculation function. For example, the position calculation function is called for each semi-elliptical ring to be distributed, and the input information of calling the position calculation function may include: the number of slave devices N, the number of slave device balls to be distributed on the current semi-elliptical ring M, and the full coordinates of the current semi-elliptical ring. Of course, other input information may also be included, and the embodiments of the present application are not limited to this.
[0245] Next, take the device icon as the device ball, the above Figure 7 Taking the control center interface APK and the control center APK in the form of a control center application as an example, combined with the above application scenarios, the process of the master device determining the position information of any number of slave device balls through a position calculation function and displaying the slave device balls on the control center interface according to the determined position information is introduced.
[0246] Please refer to Fig.13 , Fig.13 FIG. 1 is a flow chart of a method for displaying a device icon provided by an embodiment of the present application. Fig.13 As shown, the execution subject of the method is a control center application installed in the first electronic device, and the method includes the following steps:
[0247] Step 1301: In response to a first operation, a control center application is started.
[0248] Among them, the first operation refers to an operation used to trigger the control center interface, such as clicking on the smart interconnection card in the notification bar, or clicking on the application icon of the control center application.
[0249] Step 1302: The control center application is initialized.
[0250] During the initialization process of the control center application, the coordinates of the main device ball and the full coordinates of the elliptical ring set around the main device can be initialized. Of course, other information can also be initialized, which is not limited in the embodiment of the present application.
[0251] The coordinates of the main device ball may be a preset position of the control center interface, such as the interface center of the control center interface, or a position within a preset range of the interface center. The full coordinates of the elliptical ring include the coordinates of multiple position points on the elliptical ring.
[0252] As an example, the operation of initializing the full coordinates of the elliptical ring includes: determining the position of the elliptical ring according to the coordinates of the master device ball and the width and height of the elliptical ring, and determining the full coordinates of the elliptical ring according to the position of the elliptical ring.
[0253] For example, the center of the elliptical ring is determined according to the coordinates of the master device ball. For example, the coordinates of the master device ball are used as the center of the elliptical ring, and then the position of the elliptical ring is determined according to the center of the elliptical ring and the width and height of the elliptical ring.
[0254] For example, after determining the position of the elliptical ring, draw the elliptical ring according to the position of the elliptical ring, and then select the position point from the drawn elliptical ring according to the preset rule, and use the coordinates of the selected position point as the full coordinates of the elliptical ring. For example, select a position point from the drawn elliptical ring every preset number of position points. The preset number can be pre-set, such as 4 or 5, etc., and this embodiment of the application does not limit this. Please refer to Fig.14 , Fig.14 is a schematic diagram of the full coordinates of an elliptical ring provided in an embodiment of the present application. Fig.14 As shown, the step size of the full coordinates of the elliptical ring is 4 position points, that is, after drawing the elliptical ring according to the position of the elliptical ring, a position point can be selected from the position points included in the drawn elliptical ring every 4 position points, and the coordinates of the selected position point are used as the full coordinates of the elliptical ring.
[0255] It should be noted that the elliptical rings arranged around the master device for distributing the slave device sphere may include one or more, and the full coordinates of each elliptical ring may be initialized in the above manner.
[0256] In one example, the full coordinates of the elliptical ring matching the application scenario may also be initialized according to the application scenario of the first electronic device, wherein the application scenario of the first electronic device may include the widescreen display scenario and the narrowscreen display scenario.
[0257] In the first case, when the first electronic device is in a widescreen display scene, each elliptical ring around the main device is divided into two semi-elliptical rings: an upper semi-elliptical ring and a lower semi-elliptical ring, the upper semi-elliptical ring is the upper half of the elliptical ring, and the lower semi-elliptical ring is the lower half of the elliptical ring. After determining the full coordinates of each elliptical ring, the full coordinates of each elliptical ring can be divided into the full coordinates of the upper semi-elliptical ring and the full coordinates of the lower semi-elliptical ring.
[0258] For example, when the first electronic device is in a widescreen display scenario, the full coordinates of the initialized elliptical ring include: the full coordinates of the upper half of the elliptical ring and the full coordinates of the lower half of the elliptical ring of each elliptical ring in at least one elliptical ring used to distribute the slave device ball. For example, if in the widescreen display scenario, there is one elliptical ring for distributing the slave device ball, the full coordinates of the initialized elliptical ring include the full coordinates of the upper half of the elliptical ring and the full coordinates of the lower half of the elliptical ring of the elliptical ring. For example, if in the widescreen display scenario, there is one elliptical ring for distributing the slave device ball, the full coordinates of the initialized elliptical ring include the full coordinates of the upper half of the elliptical ring and the full coordinates of the lower half of the elliptical ring of the elliptical ring. For example, if in the widescreen display scenario, there are two elliptical rings for distributing the slave device ball, the full coordinates of the initialized elliptical ring include: the full coordinates of the upper half of the elliptical ring and the full coordinates of the lower half of the elliptical ring of the first elliptical ring, and the full coordinates of the upper half of the elliptical ring and the full coordinates of the lower half of the elliptical ring of the second elliptical ring.
[0259] In the second case, when the first electronic device is in a narrow screen display scenario, each elliptical ring around the main device is divided into two semi-elliptical rings: an upper semi-elliptical ring and a lower semi-elliptical ring. After determining the full coordinates of each elliptical ring, the full coordinates of the lower semi-elliptical ring are divided from the full coordinates of each elliptical ring.
[0260] For example, when the first electronic device is in a narrow screen display scenario, the full coordinates of the initialized elliptical ring include: the full coordinates of the lower half of the elliptical ring of each elliptical ring in at least one elliptical ring used to distribute the slave device sphere. For example, if in a narrow screen display scenario, there are three elliptical rings distributed from the device sphere, the full coordinates of the initialized elliptical ring include: the full coordinates of the lower half of the elliptical ring of the first elliptical ring, the full coordinates of the lower half of the elliptical ring of the second elliptical ring, and the full coordinates of the lower half of the elliptical ring of the third elliptical ring.
[0261] After initializing the full coordinates of the elliptical ring, the full coordinates of the elliptical ring may also be cached.
[0262] In addition, during the initialization process, a device sphere coordinate cache table can also be created. The device sphere coordinate cache table is used to cache the coordinates of each device sphere in each quantity scenario. As an example, different device sphere coordinate cache tables can be set for different application scenarios. For example, a corresponding device sphere coordinate cache table is set for a widescreen display scenario, and a corresponding device sphere coordinate cache table is set for a narrowscreen display scenario. In addition, different device sphere coordinate cache tables can be set for different widescreen display scenarios; different device sphere cache lists can be set for different narrowscreen display scenarios.
[0263] As an example, each cache table is represented by a two-layer structure, and the first-layer subscript is used to indicate the number of slave device balls, which can also be called the total number of slave device balls. The second-layer subscript is used to indicate the coordinates of the slave device ball in the total number of slave device balls. For example, the first-layer subscript can be represented by sum, and the second-layer subscript can be represented by s, where s is greater than or equal to 0 and less than or equal to sum.
[0264] In addition, for different application scenarios, preset variable parameters corresponding to different application scenarios can also be initialized, and the preset variable parameters include screen size, full coordinates of the selected elliptical ring, and a selected preset position set.
[0265] The initialization operation of the control center application only needs to be performed once after the control center application is started, and it does not need to be performed again after the initialization is completed.
[0266] Step 1303: The control center application determines the number N of online slave devices.
[0267] Among them, the online slave device refers to a second electronic device that can be connected to the first electronic device, such as a second electronic device logged in to the same account as the first electronic device, or a second electronic device logged in to the same account as the first electronic device and with Bluetooth and WI-FI turned on.
[0268] As a quantity, the control center application can obtain the number N of online slave devices through the device service management module. For example, the control center application can obtain the number N of online slave devices from the device service management module through the device service management SDK.
[0269] Step 1304: The control center application determines the coordinates of N slave device balls corresponding to the N slave devices one by one through a position calculation function according to the number N of slave devices.
[0270] For example, the control center application may call a position calculation function according to the number N of slave devices, and determine the coordinates of the N slave device balls through the position calculation function.
[0271] In addition, after determining the number N of online slave devices, the control center application can first check whether the device ball coordinate cache table stores the coordinates of N slave device balls corresponding to the number N. If so, directly obtain the coordinates of the N slave device balls. If not, execute step 1304 again to determine the coordinates of the N slave device balls through the position calculation function.
[0272] As an example, the N slave device balls may be distributed on at least one pre-set semi-elliptical ring. Fig.15 , the above step 1304 can be implemented by steps A1-A4:
[0273] A1: According to the number N of slave devices and the maximum number of slave device balls allowed to be distributed on each semi-elliptical ring for distributing slave device balls, determine the L semi-elliptical rings used to distribute N slave device balls and the number of slave device icons to be distributed on each semi-elliptical ring.
[0274] For example, when the first electronic device is in a widescreen display scenario, the semi-elliptical rings used to distribute the slave device sphere include an upper semi-elliptical ring and a lower semi-elliptical ring of each elliptical ring in at least one elliptical ring. When the first electronic device is in a narrowscreen display scenario, the semi-elliptical rings used to distribute the slave device sphere include at least one lower semi-elliptical ring, that is, a lower semi-elliptical ring of each elliptical ring in at least one elliptical ring.
[0275] The maximum number of slave device balls allowed to be distributed on each semi-elliptical ring for distributing slave device balls may be the same or different, and this is not limited in the embodiments of the present application. For example, for a widescreen display scenario, the maximum number of slave device icons allowed to be distributed on the lower semi-elliptical ring is 4, and the maximum number of slave device icons allowed to be distributed on the upper semi-elliptical ring is 2. For a narrowscreen display scenario, the maximum number of slave device icons allowed to be distributed on the lower semi-elliptical ring is 3.
[0276] As an example, for a widescreen display scenario, the L semi-elliptical rings for distributing N slave device balls and the number of slave device icons to be distributed on each semi-elliptical ring can be determined from the semi-elliptical rings for distributing the slave device balls in order from the inside to the outside, based on the maximum number of slave device balls allowed to be distributed on each semi-elliptical ring. That is, the semi-elliptical ring located on the inner side is first selected to distribute the slave device icons. In addition, for the semi-elliptical rings located on the same elliptical ring, the semi-elliptical ring located in the lower half can be first selected to distribute the slave device icons, or the semi-elliptical ring located in the lower half can be first selected to distribute the slave device balls, and this embodiment of the present application does not limit this.
[0277] As an example, for a narrow screen display scenario, based on the maximum number of slave device balls allowed to be distributed on each semi-elliptical ring for distributing the slave device balls, L semi-elliptical rings for distributing N slave device balls and the number of slave device icons to be distributed on each semi-elliptical ring can be determined from the semi-elliptical rings for distributing the slave device balls in order from the inside to the outside.
[0278] Of course, the L semi-elliptical rings for distributing the N slave device spheres and the number of slave device icons to be distributed on each semi-elliptical ring may also be determined according to other rules, and this embodiment of the present application does not limit this.
[0279] A2: Traverse these L semi-elliptical rings.
[0280] The L semi-elliptical rings are traversed in a preset order. For example, the L semi-elliptical rings are traversed in an order from inside to outside. Among them, for the semi-elliptical rings located on the same elliptical ring, the semi-elliptical rings are traversed in an order from bottom to top.
[0281] By traversing the L semi-elliptical rings, the coordinates of each slave device ball to be distributed on the traversed elliptical ring can be determined by the position calculation function for each traversed elliptical ring. After the traversal is completed, the coordinates of the N slave device balls can be determined.
[0282] A3: For the traversed semi-elliptical ring, call the position calculation function according to N, the number M of slave device balls to be distributed on the semi-elliptical ring and the full coordinates of the semi-elliptical ring, and determine the coordinates of the M slave device balls through the position calculation function.
[0283] That is, for the traversed semi-elliptical ring, the input parameters of calling the position calculation function may include: 1. The total number of slave device balls N; 2. The number of slave device balls M to be distributed on the semi-elliptical ring; 3. The full coordinates of the semi-elliptical ring.
[0284] In addition, the input parameters of calling the position calculation function may also include: 4, offset. The offset refers to the offset of the X-axis coordinate of the slave device ball obtained from the preset position set, and the offset is used to indicate how many coordinates are offset from the coordinates of the slave device ball corresponding to the total number N of slave device balls in the preset position set to obtain the coordinates.
[0285] As an example, in a wide screen display scenario, the offset can be determined based on the input parameter M when the position calculation function was last called. For example, the offset indexOffset = int(MLastTime+1) / 2, where MLastTime is the input parameter M when the position calculation function was last called. In a narrow screen display scenario, the offset is 0. Furthermore, the offset can be determined based on the input parameter M when the position calculation function is called for another semi-elliptical ring located on the same elliptical ring.
[0286] As an example, the position calculation function can be represented by calcDeviceCoordinateList, and calling the position calculation function according to the input parameters can be represented as calcDeviceCoordinateList (N, M, indexOffset, full coordinates of the current semi-elliptical ring).
[0287] For example, please refer to Figure 4In the widescreen display scene shown in Figure (a), an elliptical ring is set around the master device ball to distribute the slave device balls. The elliptical ring includes an upper half elliptical ring and a lower half elliptical ring. The maximum number of slave device balls allowed to be distributed in the lower half elliptical ring is 5. The way to call the position calculation function can include the following two cases:
[0288] The first case: when N is less than 6, the position calculation function can be called once according to the input parameters (N, M=N, the full coordinates of the lower semi-elliptical ring, indexOffset=0) to determine the coordinates of each slave device ball.
[0289] For example, when N=5, calcDeviceCoordinateList(5, 5, 0, full coordinates of the lower semi-elliptical ring) is executed.
[0290] The second case: when N is greater than or equal to 6, the position calculation function can be called according to the input parameters (N, M, the full coordinates of the upper semi-elliptical ring, indexOffset = 0) to determine the coordinates of the M slave device balls located on the upper semi-elliptical ring, where M is less than N. Afterwards, the position calculation function is called according to the input parameters (N, M = N-MLastTime, the full coordinates of the upper semi-elliptical ring, indexOffset = int(MLastTime+1) / 2) to determine the coordinates of the NM slave device balls located on the lower semi-elliptical ring.
[0291] For example, when N=6, calcDeviceCoordinateList(6, 2, 0, full coordinates of the upper semi-elliptical ring) is executed first, and then calcDeviceCoordinateList(6, 4, 1, full coordinates of the lower semi-elliptical ring) is executed.
[0292] As an example, see Fig.15 The step of determining the coordinates of the M slave device balls by the position calculation function may include the following steps 1) to 4):
[0293] 1) According to the number of slave devices N and the number of slave device balls to be distributed on the current semi-elliptical ring M, the X-axis coordinates of the first T slave device balls among the M slave device balls are determined through a preset position set, where T is the value rounded to half of M, that is, T = int(M / 2).
[0294] Among them, the first T slave device spheres are slave device spheres located on the left side of the current semi-elliptical ring.
[0295] In one example, depending on different application scenarios, different methods are used to determine the X-axis coordinates of the first T slave device balls among the M slave device balls through the preset position set. For example, determining the X-axis coordinates of the first T slave device balls among the M slave device balls through the preset position set may include the following two implementation methods:
[0296] The first implementation method: In a widescreen display scenario, when the X-axis coordinate indication information of the slave device ball stored in the preset position set is the distance between the slave device ball and the left endpoint of the current semi-elliptical ring, the X-axis coordinates of the first T slave device icons can be determined based on the width of the current semi-elliptical ring, the screen width of the first electronic device, and the X-axis coordinate indication information of the first T slave device balls in the first P slave device balls corresponding to N in the preset position set.
[0297] As an example, for the i-th slave device sphere among the first T slave device spheres, the X-axis coordinate of the i-th slave device sphere among the first T slave device spheres can be determined based on the width of the current semi-elliptical ring, the screen width of the first electronic device, and the X-axis coordinate indication information of the i-th slave device sphere among the first P slave device spheres corresponding to N in the preset position set.
[0298] For example, for the i-th slave device sphere among the first T slave device spheres, the sum of the specified difference and the X-axis coordinate indication information of the i-th slave device sphere among the first P slave device spheres corresponding to N can be determined as the X-axis coordinate of the i-th slave device sphere among the first T slave device spheres. The specified difference is the difference between half the screen width of the first electronic device and half the width of the current semi-elliptical ring.
[0299] As another example, for the i-th slave device sphere among the first T slave device spheres, the X-axis coordinate of the i-th slave device sphere among the first T slave device spheres can also be determined based on the width of the current semi-elliptical ring, the screen width of the first electronic device, the offset, and the X-axis coordinate indication information of the first P slave device spheres corresponding to N in the preset position set.
[0300] For example, first, according to the offset, determine the X-axis coordinate indication information of the i-th slave device ball that is offset backward by the offset from the first slave device ball as the starting point among the first P slave device balls corresponding to the N included in the preset position set, and then determine the X-axis coordinate of the i-th slave device ball among the first T slave device balls according to the width of the current semi-elliptical ring, the screen width of the first electronic device and the determined X-axis coordinate indication information. For example, the sum of the specified difference and the determined X-axis coordinate indication information is determined as the X-axis coordinate of the i-th slave device ball among the first T slave device balls.
[0301] In a possible implementation, assuming that the preset position set is in a matrix form, the first dimension coordinate of the matrix is used to indicate the number of slave device balls, and the second dimension coordinate is used to indicate the number of slave device balls in the corresponding number of slave device balls. Then, the X-axis coordinate of the i-th slave device ball among the first T slave device balls can be determined by the following formula (1):
[0302] xLeft=halfScreenWidth-ovalWidth / 2+xPaddingMatrix[sum-1][int(i / 2)+indexOffset](1)
[0303] Among them, xLeft is the X-axis coordinate of the i-th slave device sphere, halfScreenWidth is half of the screen width of the first electronic device, ovalWidth is half of the width of the current semi-elliptical ring, [sum-1] is the first-dimensional subscript of the matrix corresponding to the preset position set, [int(i / 2)+indexOffset] is the second-dimensional subscript of the matrix corresponding to the preset position set, and xPaddingMatrix[sum-1][int(i / 2)+indexOffset] is the X-axis coordinate indication information indicated by [sum-1][int(i / 2)+indexOffset] in the matrix corresponding to the preset position set.
[0304] The second implementation method: In a narrow screen display scenario, when the X-axis coordinate indication information of the slave device ball stored in the preset position set is the coordinate of the slave device ball, the X-axis coordinates of the first T slave device icons can be determined based on the X-axis coordinates of the first T slave device balls sorted in the first P slave device balls corresponding to N in the preset position set.
[0305] As an example, for the i-th slave device ball among the first T slave device balls, the X-axis coordinate of the i-th slave device ball among the first P slave device balls corresponding to N in the preset position set can be determined as the X-axis coordinate of the i-th slave device ball among the first T slave device balls.
[0306] In a possible implementation, assuming that the preset position set is in a matrix form, the first dimension coordinate of the matrix is used to indicate the number of slave device balls, and the second dimension coordinate is used to indicate the number of slave device balls in the corresponding number of slave device balls. Then, the X-axis coordinate of the i-th slave device ball among the first T slave device balls can be determined by the following formula (2):
[0307] xLeft=xPaddingMatrix[sum-1][int(i / 2)+indexOffset] (2)
[0308] Among them, xLeft is the X-axis coordinate of the i-th slave device ball, [sum-1] is the first-dimensional subscript of the matrix corresponding to the preset position set, [int(i / 2)+indexOffset] is the second-dimensional subscript of the matrix corresponding to the preset position set, and xPaddingMatrix[sum-1][int(i / 2)+indexOffset] is the X-axis coordinate indicated by [sum-1][int(i / 2)+indexOffset] in the matrix corresponding to the preset position set.
[0309] 2) According to the X-axis coordinates of the first T slave device balls, determine the X-axis coordinates of the last T slave device balls among the M slave device balls. The first T slave device balls and the last T slave device balls are symmetric about the Y axis.
[0310] The first T slave device balls are distributed on the left side of the current semi-elliptical ring, and the last T slave device balls are distributed on the right side of the current semi-elliptical ring, and the two are symmetrical about the Y axis.
[0311] As an example, for the ith slave device ball among the first T slave device balls, the X-axis coordinate of the (M-i+1)th slave device ball that is symmetrical with the ith slave device ball about the Y-axis can be determined based on the X-axis coordinate of the ith slave device ball and the screen width. For example, the X-axis coordinate of the (M-i+1)th slave device ball is the difference between the screen width and the X-axis coordinate of the ith slave device ball, that is, the x-coordinate of the (count-i+1)th device ball xRight = screenWidth-xLeft. Where screenWidth is the screen width, and xLeft is the X-axis coordinate of the ith slave device ball.
[0312] 3) Determine the X-axis coordinates of the M slave device balls according to the X-axis coordinates of the first T slave device balls and the last T slave device balls.
[0313] Among them, according to the X-axis coordinates of the first T slave device balls and the last T slave device balls, determining the X-axis coordinates of the M slave device balls includes the following two cases:
[0314] In the first case, if M is an odd number, the X-axis coordinate of the (M+1) / 2th slave device ball is determined, and the X-axis coordinates of the M slave device balls include the X-axis coordinates of the first T slave device balls, the last T slave device balls, and the (M+1) / 2th slave device ball.
[0315] When M is an odd number, in addition to the slave spheres that are symmetrical about the Y axis, there is also a slave sphere located on the Y axis, so the coordinates of the slave sphere located on the Y axis also need to be determined. The slave sphere located on the Y axis is the (M+1) / 2th slave sphere among the M slave spheres.
[0316] As an example, the X-axis coordinate of the (M+1) / 2th slave device ball can be determined according to the screen width. For example, half of the screen width can be determined as the X-axis coordinate of the (M+1) / 2th slave device ball, that is, the X-axis coordinate xLeft of the (M+1) / 2th slave device ball = halfScreenWidth.
[0317] As another example, the X-axis coordinate of the master device ball may be determined as the X-axis coordinate of the (M+1) / 2th slave device ball.
[0318] In the second case, if M is an even number, the X-axis coordinates of the M slave device balls include the X-axis coordinates of the first T slave device balls and the last T slave device balls.
[0319] When M is an even number, among the M slave device spheres, there are only slave device spheres that are symmetrical about the Y axis, and there is no slave device sphere located on the Y axis, so there is no need to determine the coordinates of other slave device spheres.
[0320] 4) According to the X-axis coordinates of the M slave device balls, the Y-axis coordinates of the M slave device balls are determined by the full coordinates of the current semi-elliptical ring.
[0321] As an example, for the i-th slave device sphere among these M slave device spheres, the Y-axis coordinate whose X-axis coordinate is equal to the X-axis coordinate of the i-th slave device sphere in the full coordinates of the current semi-elliptical ring can be searched, and the found Y-axis coordinate can be determined as the Y-axis coordinate of the i-th slave device ball.
[0322] A4: Determine whether the traversal is completed.
[0323] That is, it is determined whether each elliptical ring in the L semi-elliptical rings has been traversed. If so, it is determined that the traversal is completed and the execution ends. If not, it is determined that the traversal is not completed, and the process jumps to step A2 to continue the traversal.
[0324] In one embodiment, please refer to Fig.16 The step of determining the coordinates of the M slave device balls by the position calculation function may include the following steps A31 to A36:
[0325] A31: Let i=1, and determine the X-axis coordinate of the i-th slave device ball among the M slave device balls according to the number of slave devices N and the number of slave device balls to be distributed on the current semi-elliptical ring through a preset position set.
[0326] For example, in a wide screen display scenario, the X-axis coordinate of the ith slave device ball can be determined by the above formula (1); in a narrow screen scenario, the X-axis coordinate of the ith slave device ball can be determined by the above formula (2).
[0327] A32: Determine the X-axis coordinate of the (M-i+1)th slave device sphere that is symmetric with the i-th slave device sphere about the Y-axis.
[0328] For example, the x-coordinate of the (count-i+1)th device sphere is xRight=screenWidth-xLeft, where screenWidth is the screen width and xLeft is the X-axis coordinate of the i-th slave device sphere.
[0329] A33: According to the X-axis coordinates of the ith slave device sphere and the (M-i+1)th slave device sphere, the Y-axis coordinates of the ith slave device sphere and the (M-i+1)th slave device sphere are determined through the full coordinates of the current semi-elliptical ring.
[0330] For example, for the i-th slave device sphere, find the Y-axis coordinate whose X-axis coordinate in the full coordinates of the current semi-elliptical ring is equal to the X-axis coordinate of the i-th slave device sphere, and determine the found Y-axis coordinate as the Y-axis coordinate of the i-th slave device sphere. For the (M-i+1)-th slave device sphere, find the Y-axis coordinate whose X-axis coordinate in the full coordinates of the current semi-elliptical ring is equal to the X-axis coordinate of the (M-i+1)-th slave device sphere, and determine the found Y-axis coordinate as the Y-axis coordinate of the (M-i+1)-th slave device sphere.
[0331] A34: Determine whether i is greater than int(M / 2).
[0332] If not, set i=i+1 and jump to step A31; if so, jump to step A35.
[0333] A35: Determine whether M is an odd number.
[0334] If yes, jump to step A36; if no, end.
[0335] A36: According to the screen width, determine the X-axis coordinate of the (M+1) / 2th slave device ball. According to the X-axis coordinate of the (M+1) / 2th slave device ball, determine the Y-axis coordinate of the (M-i+1)th slave device ball through the full coordinates of the current semi-elliptical ring.
[0336] For example, the X-axis coordinate xLeft of the (M+1) / 2th slave device ball is equal to halfScreenWidth.
[0337] In addition, after the coordinates of the N slave device balls are determined by the position calculation function, the coordinates of the N slave device balls in the N number of scenes may be stored in the device ball coordinate cache table.
[0338] For example, assuming that the number of slave device spheres N is 3, the calculation results are [(191.0, 1411.0), (540.0, 1455.0), (889.0, 1411.0)], which represent the coordinates of the first, second, and third device spheres, respectively. Afterwards, the calculation results can be cached in the device sphere coordinate cache table. At this time, the cache results of the device sphere coordinate cache table can be: [
[0340] [ ],
[0341] [ ],
[0342] [(191.0,1411.0),(540.0,1455.0),(889.0,1411.0)],
[0343] [ ],
[0344] [ ], []
[0346] ].
[0347] Step 1305: The control center application refreshes the positions of the N slave device balls on the control center interface according to the coordinates of the N slave device balls.
[0348] That is, the control center application can display the N slave device balls at the positions indicated by the coordinates of the N slave device balls in the control center interface according to the coordinates of the N slave device balls.
[0349] When the first electronic device has not yet displayed the control center interface, the control center application can first control the first electronic device to display the control center interface, and then refresh the positions of the N slave device balls on the displayed control center interface according to the coordinates of the N slave device balls. In addition, when the first electronic device has already displayed the control center interface, the control center application can refresh the positions of the slave device balls on the control center interface according to the coordinates of the N slave device balls.
[0350] Step 1306: The control center application monitors the online or offline status of the slave device.
[0351] The control center application can monitor the online or offline status of the slave device through the device service management module. For example, the control center application can obtain the online or offline status of the slave device from the device service management module through the device service management SDK.
[0352] Step 1307: The control center application determines whether the online or offline status of the slave device changes.
[0353] For example, it is determined whether a new slave device is online, or whether an online slave device is offline. If so, it is determined that the online or offline state of the slave device has changed.
[0354] Step 1308 : If the online or offline status of the slave device changes, the control center application re-determines the number N of online slave devices and jumps to step 1304 .
[0355] When the first electronic device experiences multiple changes in the number of slave device balls, the device ball coordinate cache table will be filled. For example, when the upper limit of the number of slave device balls allowed to be displayed on the control center interface is 6, the first electronic device experiences a change in the number of slave device balls from 1 to 6. In this case, the device ball coordinate cache table can cache the coordinates of each slave device ball corresponding to each of the 6 number scenarios. For example, the cache result of the device ball coordinate cache table can be: [
[0357] [(540.0,1455.0)],
[0358] [(287.0,1432.0),(793.0,1432.0)],
[0359] [(191.0,1411.0),(540.0,1455.0),(889.0,1411.0)],
[0360] [(191.0,1411.0),(540.0,1455.0),(889.0,1411.0),(540.0,1775.0)],
[0361] [(191.0,1411.0),(540.0,1455.0),(889.0,1411.0),(287.0,1760.0),(793.0,1760.0)],
[0362] [(191.0,1411.0),(540.0,1455.0),(889.0,1411.0),(191.0,1746.0),(540.0,1775.0),(889.0,1746.0)]
[0363] ].
[0364] Step 1309: If the online or offline status of the slave device has not changed, the control center application determines whether to exit.
[0365] After receiving the exit operation, the control center application can respond to the exit operation and then exit the control center application, that is, the control center application is closed and stops running. The exit operation is used to close the control center application, for example, the exit operation can be an operation of clicking a close button in the control center interface. If no exit operation is received, the control center application will not be exited.
[0366] If the control center application has not exited, the control center application jumps to step 1306 and continues to monitor the online or offline status of the slave device. If the control center application exits, the operation ends.
[0367] Next, take the device ball as the device ball and combine the above Figure 7 , the process of determining the position information of any number of slave device balls by a master device through a position calculation function and displaying the slave device balls on a control center interface according to the determined position information is introduced.
[0368] Please refer to Fig.17 , Fig.17 FIG. 1 is a flow chart of another device ball display method provided in an embodiment of the present application. Fig.17 As shown, the method comprises the following steps:
[0369] Step 1701: The user clicks on the smart interconnection card.
[0370] Step 1702: In response to the user's click operation, the notification bar card APK sends a trigger instruction to the control center APK.
[0371] The trigger instruction is used to instruct the control center APK to trigger the control center interface.
[0372] For example, the notification bar card APK can send a trigger instruction to the control center APK through the control center SDK.
[0373] It should be noted that the embodiment of the present application only takes the operation of clicking on the smart interconnection card to trigger the control center interface as an example. It should be understood that the control center interface can also be triggered by other operations, and the embodiment of the present application does not limit this.
[0374] Step 1703: The control center APK sends a read instruction to the device service management APK according to the trigger instruction. The read instruction is used to read the number of online slave devices.
[0375] For example, the control center APK can send a read instruction to the device service management APK through the device service management SDK.
[0376] Step 1704: The device service management APK determines the number N of online slave devices according to the read instruction.
[0377] For example, the device service management APK can query the number N of online slave devices through the online device module in the device service management APK.
[0378] Step 1705: The device service management APK sends the number N of slave devices to the control center APK.
[0379] For example, the device service management APK can send the number N of slave devices to the control center APK through the device service management SDK.
[0380] In addition, the device service management APK can also determine the device identification of the online slave device according to the read instruction, and send the number N of slave devices and the device identification of each slave device to the control center APK. The device identification can be one or more of the device name, device number, and device graphic identification, etc., which is not limited in the embodiment of the present application.
[0381] Step 1706: The control center APK calls the position calculation function according to the number N of slave devices, and calculates the coordinates of N device balls corresponding to the N online slave devices through the position calculation function.
[0382] The specific implementation method of calling the position calculation function and calculating the coordinates of N device balls corresponding to the N online slave devices can refer to the above Figure 13-Figure 15 The relevant description of the embodiments will not be repeated here.
[0383] Step 1707: The control center APK sends a refresh instruction to the control center interface APK, and the refresh instruction carries the coordinates of N device balls.
[0384] Step 1708: The control center interface APK refreshes the positions of N device balls in the control center interface according to the refresh instruction.
[0385] In addition, the refresh instruction may also include the device identification of each device ball in the N device balls, and the control center interface APK refreshes the positions of the N device balls in the control center interface according to the device identification and coordinates of the N device balls. That is, according to the coordinates and device identification of the N slave device balls, the N slave device balls are displayed at the positions indicated by the coordinates of the N slave device balls in the control center interface, and each device ball includes the device identification of the corresponding device. For example, Figure 1 As shown in Figure (c), the graphic logo of the device is wrapped in the device ball, and the device name is displayed below the device ball.
[0386] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (such as: coaxial cable, optical fiber, data subscriber line (Digital Subscriber Line, DSL)) or wireless (such as: infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access, or a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a digital versatile disc (DVD)), or a semiconductor medium (such as a solid state disk (SSD)).
[0387] The above are optional embodiments provided for the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the technical scope disclosed in the present application shall be included in the protection scope of the present application.
Claims
1. A method for displaying a device icon, characterized in that: Applied to a first electronic device, the method includes: In response to a first operation, determining the number N of slave devices, where the slave device refers to a second electronic device that can be connected to the first electronic device, where N is a positive integer, and the first operation is used to trigger a control center interface; Calling a position calculation function according to N, determining position information of N slave device icons corresponding to N through the position calculation function, the position information of each slave device icon being used to indicate the position of the corresponding slave device icon in the control center interface, the position calculation function being used to determine position information of any number of slave device icons through a preset position set, the preset position set comprising X-axis coordinate indication information of the first P slave device icons corresponding to each number of slave device icons among different numbers of slave device icons, the X-axis coordinate indication information of the slave device icon being the X-axis coordinate of the slave device icon on the control center interface or the distance in the X-axis direction between the slave device icon and a specified point on the control center interface, the X-axis direction of the X-axis coordinate being perpendicular to the screen side of the electronic device, and P being a rounded value corresponding to half of the number of slave device icons; The control center interface is displayed according to the position information of the N slave device icons, and the control center interface displays the N slave device icons at positions corresponding to the position information of the N slave device icons.
2. The method according to claim 1, characterized in that The N slave device icons are distributed on at least one semi-elliptical ring, where the semi-elliptical ring refers to the upper half or the lower half of an elliptical ring; Before calling the position calculation function according to the N and determining the position information of the N slave device icons corresponding to the N through the position calculation function, the method further includes: According to N and the maximum number of slave device icons allowed to be distributed on each semi-elliptical ring for distributing the slave device icons, determine L semi-elliptical rings for distributing the N slave device icons and the number of slave device icons to be distributed on each semi-elliptical ring, where L is a positive integer; The L semi-elliptical rings include a first semi-elliptical ring, and the calling of a position calculation function according to the N, and determining position information of N slave device icons corresponding to the N by the position calculation function, includes: The position calculation function is called according to N, the number M of slave device icons to be distributed on the first semi-elliptical ring and the full position information of the first semi-elliptical ring, and the position information of the M slave device icons is determined by the position calculation function. The full position information of the first semi-elliptical ring includes the position information of multiple position points on the first semi-elliptical ring.
3. The method according to claim 2, characterized in that The full position information of the first semi-elliptical ring is the full coordinates of the first semi-elliptical ring, the full coordinates of the first semi-elliptical ring include coordinates of multiple position points on the first semi-elliptical ring, the coordinates include X-axis coordinates and Y-axis coordinates, the X-axis direction of the X-axis coordinates is perpendicular to the side of the screen of the electronic device, and the Y-axis direction of the Y-axis coordinates is parallel to the side of the screen of the electronic device, the preset position set includes multiple numbers of slave device icons and X-axis coordinate indication information of the first P slave device icons corresponding to each number of slave devices, and P is a value rounded to half of the number of slave device icons.
4. The method according to claim 3, characterized in that The determining the position information of the M slave device icons by using the position calculation function includes: According to the N and the M, determining the X-axis coordinates of the first T slave device icons among the M slave device icons through the preset position set, where T is a value obtained by rounding half of the M; Determine the X-axis coordinates of the last T slave device icons among the M slave device icons according to the X-axis coordinates of the first T slave device icons, wherein the first T slave device icons and the last T slave device icons are symmetrical about the Y-axis; Determine the X-axis coordinates of the M slave device icons according to the X-axis coordinates of the first T slave device icons and the last T slave device icons; According to the X-axis coordinates of the M slave device icons, the Y-axis coordinates of the M slave device icons are determined by the full coordinates of the first semi-elliptical ring.
5. The method according to claim 4, characterized in that The determining, according to the N and the M, the X-axis coordinates of the first T slave device icons among the M slave device icons by using the preset position set includes: The X-axis coordinates of the first T slave device icons are determined according to the X-axis coordinate indication information of the first P slave device icons corresponding to the N included in the preset position set.
6. The method according to claim 5, characterized in that The determining the X-axis coordinates of the first T slave device icons according to the X-axis coordinate indication information of the first P slave device icons corresponding to the N included in the preset position set includes: Determine the X-axis coordinates of the first T slave device icons according to the X-axis coordinate indication information of the first T slave device icons in the first P slave device icons corresponding to the N; or, The X-axis coordinates of the first T slave device icons are determined based on the X-axis coordinate indication information and offset of the first P slave device icons corresponding to the N, and the offset is determined based on the number of slave device icons to be distributed on the second semi-elliptical ring, the second semi-elliptical ring being the last semi-elliptical ring among the L semi-elliptical rings for which position information of the slave device icons to be distributed has been determined before the first semi-elliptical ring, or being the semi-elliptical ring among the L semi-elliptical rings for which position information of the slave device icons to be distributed has been determined before the first semi-elliptical ring and is located on the same elliptical ring as the first semi-elliptical ring.
7. The method according to claim 6, characterized in that The X-axis coordinate indication information is an X-axis coordinate, and determining the X-axis coordinates of the first T slave device icons in the first P slave device icons corresponding to the N according to the X-axis coordinate indication information of the first T slave device icons in the first order includes: The X-axis coordinates of the first T slave device icons in the first P slave device icons corresponding to the N are determined as the X-axis coordinates of the first T slave device icons.
8. The method according to claim 6, characterized in that The determining the X-axis coordinates of the first T slave device icons according to the X-axis coordinate indication information and the offset of the first P slave device icons corresponding to the N includes: The X-axis coordinates of the first T slave device icons are determined according to the coordinate position information of T slave device icons that are offset backward by the offset amount starting from the first slave device icon among the first P slave device icons corresponding to the N.
9. The method according to claim 8, characterized in that The X-axis coordinate indication information is the distance between the corresponding slave device icon and the left end point of the specified semi-elliptical ring, and the specified semi-elliptical ring is any one of the L semi-elliptical rings; The determining the X-axis coordinates of the first T slave device icons according to the coordinate position information of the T slave device icons that are offset backward by the offset amount starting from the first slave device icon among the first P slave device icons corresponding to the N includes: The X-axis coordinates of the first T slave device icons are determined based on the width of the specified semi-elliptical ring, the screen width of the first electronic device, and the coordinate position information of the T slave device icons among the N corresponding first P slave device icons, which are offset backward by the offset amount starting from the first slave device icon.
10. The method according to claim 9, characterized in that The determining the X-axis coordinates of the first T slave device icons according to the width of the designated semi-elliptical ring, the screen width of the first electronic device, and the coordinate position information of T slave device icons that are offset backward by the offset amount from the first slave device icon among the first P slave device icons corresponding to the N, comprises: The X-axis coordinates of the first T slave device icons are determined based on the difference between half the screen width of the first electronic device and half the width of the specified semi-elliptical ring, and the coordinate position information of the first P slave device icons corresponding to the N, which are offset backward by the offset with the first slave device icon as the starting point.
11. The method according to any one of claims 4 to 10, characterized in that: The determining the X-axis coordinates of the M slave device icons according to the X-axis coordinates of the first T slave device icons and the last T slave device icons includes: If M is an odd number, the X-axis coordinate of the (M+1) / 2th slave device icon among the M slave device icons is determined according to the screen width of the first electronic device or the X-axis coordinate of the master device icon, the X-axis coordinates of the first T slave device icons, the last T slave device icons and the (M+1) / 2th slave device icon are the X-axis coordinates of the M slave device icons, and the master device icon is the device icon of the first electronic device; If the M is an even number, the X-axis coordinates of the first T slave device icons and the last T slave device icons are the X-axis coordinates of the M slave device icons.
12. The method according to any one of claims 4 to 10, characterized in that: The first T slave device icons include a first slave device icon, and determining the X-axis coordinates of the last T slave device icons among the M slave device icons according to the X-axis coordinates of the first T slave device icons includes: The X-axis coordinate of a second slave device icon symmetrical to the first slave device icon among the last T slave device icons is determined according to the difference between the screen width of the first electronic device and the X-axis coordinate of the first slave device icon.
13. The method according to any one of claims 4 to 10, characterized in that: The M slave device icons include a third slave device icon, and determining the Y-axis coordinates of the M slave device icons according to the X-axis coordinates of the M slave device icons by using the full coordinates of the first semi-elliptical ring, comprises: Acquire the Y-axis coordinate of the position point having the same X-axis coordinate as the third slave device icon from the full coordinates of the first semi-elliptical ring; The acquired Y-axis coordinate is determined as the Y-axis coordinate of the third slave device icon.
14. The method according to any one of claims 2 to 10, characterized in that: When the first electronic device is in a widescreen display scene, the X-axis coordinate indication information is the distance between the corresponding slave device icon and the left end point of the specified semi-elliptical ring, the widescreen display scene refers to a scene in which the aspect ratio of the screen of the first electronic device is less than or equal to a preset ratio, and the specified semi-elliptical ring is any one of the L semi-elliptical rings; When the first electronic device is in a narrow screen display scenario, the X-axis coordinate indication information is an X-axis coordinate, and the narrow screen display scenario refers to a scenario in which the aspect ratio of the screen of the first electronic device is greater than a preset ratio.
15. The method according to claim 14, characterized in that The widescreen display scenario includes one or more of the following scenarios: the first electronic device is a folding screen device and is in a portrait display state in an unfolded state; the first electronic device is a folding screen device and is in a landscape display state in an unfolded state; the first electronic device is a tablet device and is in a landscape display state; the first electronic device is a non-folding screen mobile phone and is in a landscape display state; the first electronic device is a folding screen device and is in a landscape display state in a folded state; The narrow screen display scenario includes one or more of the following scenarios: the first electronic device is a non-folding screen mobile phone and is in a portrait screen display state; the first electronic device is a folding screen device and is in a portrait screen display state in a folded state; the first electronic device is a tablet device and is in a portrait screen display state.
16. The method according to any one of claims 1 to 10, characterized in that: When the first electronic device is in a widescreen display scene, the N slave device icons are distributed on at least one elliptical ring, each elliptical ring includes an upper half elliptical ring and a lower half elliptical ring, the upper half elliptical ring is the upper half of an elliptical ring, and the lower half elliptical ring is the lower half of an elliptical ring, and the widescreen display scene refers to a scene in which the aspect ratio of the screen of the first electronic device is less than or equal to a preset ratio; When the first electronic device is in a narrow screen display scenario, the N slave device icons are distributed on at least one lower semi-elliptical ring. The narrow screen display scenario refers to a scenario in which the aspect ratio of the screen of the first electronic device is greater than a preset ratio.
17. The method according to any one of claims 1 to 10, characterized in that: The preset position set is a two-dimensional array, the first dimension subscript i of the two-dimensional array is used to indicate the number of slave devices, and the second dimension subscript j of the two-dimensional array is used to indicate the jth slave device icon among i slave device icons corresponding to i slave devices.
18. An electronic device, characterized in that: The electronic device comprises a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the method according to any one of claims 1 to 17 when executed by the processor.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the method according to any one of claims 1 to 17.
