Vehicle machine skin switching method and device, vehicle, electronic equipment and storage medium
By seizing a static image in the vehicle computer system and covering it to the top layer of the display screen, the problem of skin switching of each application module in the vehicle computer system is solved, and the synchronous skin switching effect is achieved, improving user experience and system stability.
Patent Information
- Application Number
- CN202510477749.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-16
- Publication Date
- 2025-07-25
AI Technical Summary
The various application modules in the existing automotive and computer systems are out of synchronization when switching skins, resulting in inconsistent user visual experience.
By seizing the static image of the vehicle display screen and covering it to the top layer, sending the skin removal instruction and removing the image after a preset time, ensuring that each application module synchronizes the switched skin on the vehicle display screen.
It realizes synchronization of the skin switching process of the car machine, improves user experience, avoids the phenomenon of out-of-synchronization, simplifies the difficulty of coordination of the application module and enhances system stability.
Smart Images

Figure CN120371443A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of vehicles, and particularly to a method and device for switching the skin of a vehicle-mounted computer, a vehicle, an electronic device, and a storage medium. Background Art
[0002] With the continuous development of in-vehicle infotainment systems, users' personalized needs for vehicle-mounted computers have gradually increased, and the skin-changing function has become an important function for many users to customize the appearance of vehicle-mounted computers. In existing vehicle-mounted computer systems, usually, a skin-changing module sends a broadcast to each application or uses other communication methods to notify each application module to replace resources to achieve skin switching. However, since each application receives the skin-changing broadcast at different times, there are time differences in resource replacement for each application, or multiple card-style application modules are displayed on the same screen and each card operates independently, resulting in an asynchronous phenomenon in the skin-changing process of multiple applications on the same screen. Users may see inconsistent skin-changing effects for each application on the screen, affecting the overall visual experience. Summary of the Invention
[0003] To solve the technical problem of how to keep the skins of each application synchronously switched during vehicle-mounted computer skin switching, this application provides a method and device for switching the skin of a vehicle-mounted computer, a vehicle, an electronic device, and a storage medium.
[0004] In a first aspect, this application provides a method for switching the skin of a vehicle-mounted computer, the method including:
[0005] Responding to a vehicle-mounted computer skin switching instruction, intercepting a static image of the current display screen of the vehicle-mounted computer display;
[0006] Covering the static image on the top layer of the vehicle-mounted computer display;
[0007] Sending a skin-changing instruction to all application modules currently displayed on the vehicle-mounted computer display; wherein, the skin-changing instruction is used to instruct the application module to perform skin switching;
[0008] After a first preset duration from the issuance of the skin-changing instruction, removing the static image to synchronously display the switched skin on the vehicle-mounted computer display; wherein, the first preset duration is greater than or equal to the maximum duration required for skin switching in all the application modules.
[0009] Optionally, after a first preset duration from the issuance of the skin-changing instruction, removing the static image includes:
[0010] When a second preset duration from the issuance of the skin-changing instruction has elapsed, sending a fade-out instruction; the second preset duration is less than the first preset duration;
[0011] In response to the fade-out instruction, the display transparency of the static image gradually decreases until the display transparency of the static image drops to zero when the skin-changing instruction has been issued for the first preset duration;
[0012] When the display transparency of the static image drops to zero, remove the static image.
[0013] Optionally, covering the static image on the top layer of the in-vehicle display screen includes:
[0014] Create a full-screen overlay layer on the top layer of the in-vehicle display screen;
[0015] Insert the static image into the full-screen overlay layer.
[0016] Optionally, capturing a static image of the current display screen of the in-vehicle display screen includes:
[0017] Detect whether there is a dynamic area in the current display screen;
[0018] If there is no such dynamic area, capture the entire display screen of the in-vehicle display screen to obtain the static image;
[0019] If there is such a dynamic area, capture the display screens of all static areas outside the dynamic area to obtain the static image.
[0020] Optionally, the dynamic area includes at least one of a media player area, a video area, and a lyrics scrolling area.
[0021] Optionally, capturing the display screens of all static areas outside the dynamic area to obtain the static image includes:
[0022] Obtain the area coordinates of the dynamic area; capture the display screens of other areas outside the area coordinates in the in-vehicle display screen to obtain the static image;
[0023] Or,
[0024] Capture the current display screen of the in-vehicle display screen to obtain a preliminary static image; remove the dynamic area in the preliminary static image; set the removed area in the preliminary static image to be transparent to obtain the static image.
[0025] Optionally, when there is such a dynamic area, the method further includes:
[0026] Set the content update priority of the dynamic area to a high priority so that the content update priority of the dynamic area is higher than the priority of the skin switching of the static area.
[0027] Optionally, when there is the dynamic area, the method further includes:
[0028] Configuring a double buffer for skin switching of the dynamic area; wherein, one buffer in the double buffer is used to display content in real time, and the other buffer in the double buffer is used to update the skin or update the content;
[0029] Using the mutual switching between the double buffers to display and switch the skin of the dynamic area.
[0030] Optionally, the method further includes: instructing the target application module of the dynamic area to switch the skin after a first preset duration from the issuance of the skin switching instruction.
[0031] Optionally, instructing the target application module of the dynamic area to switch the skin after a first preset duration from the issuance of the skin switching instruction includes:
[0032] Determining the static resources and dynamic resources in the dynamic area;
[0033] Performing skin switching on the static resources based on the skin switching instruction;
[0034] Performing skin switching on the dynamic resources after a first preset duration from the issuance of the skin switching instruction.
[0035] Optionally, the method further includes:
[0036] Capturing the current dynamic screen of the dynamic area to obtain a regional static image;
[0037] Covering the regional static image on the topmost layer of the dynamic area;
[0038] Removing the static image and the regional static image synchronously after a first preset duration from the issuance of the skin switching instruction.
[0039] In a second aspect, the present application provides a vehicle-mounted skin switching device, and the device includes:
[0040] A screenshot module, configured to capture a static image of the current display screen of the vehicle-mounted display screen in response to a vehicle-mounted skin switching instruction;
[0041] A covering module, configured to cover the static image on the topmost layer of the vehicle-mounted display screen;
[0042] A sending module, configured to send a skin switching instruction to all application modules currently displayed in the vehicle-mounted display screen; wherein, the skin switching instruction is used to instruct the application module to perform skin switching;
[0043] A synchronous display module, configured to remove the static image when the skin change instruction has been issued for a first preset duration, so as to synchronously display the switched skin on the in-vehicle display screen; wherein, the first preset duration is greater than or equal to the maximum duration required for skin switching in all the application modules.
[0044] In a third aspect, the present application provides a vehicle that applies the in-vehicle skin switching method according to any one of the embodiments of the first aspect.
[0045] In a fourth aspect, the present application provides an electronic device, including a processor, a communication interface, a memory, and a communication bus. Among them, the processor, the communication interface, and the memory complete communication with each other through the communication bus;
[0046] The memory is used to store a computer program;
[0047] The processor is configured to implement the steps of the in-vehicle skin switching method according to any one of the embodiments of the first aspect when executing the program stored on the memory.
[0048] In a fifth aspect, the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the in-vehicle skin switching method according to any one of the embodiments of the first aspect are implemented.
[0049] Advantages of the present application:
[0050] The method provided by the embodiments of the present application intercepts a static image of the current display screen of the in-vehicle display screen in response to an in-vehicle skin switching instruction; covers the static image on the top layer of the in-vehicle display screen; sends a skin change instruction to all the application modules currently displayed on the in-vehicle display screen; wherein, the skin change instruction is used to instruct the application modules to perform skin switching; when the skin change instruction has been issued for a first preset duration, the static image is removed, so as to synchronously display the switched skin on the in-vehicle display screen; wherein, the first preset duration is greater than or equal to the maximum duration required for skin switching in all the application modules. This method intercepts a static image of the current display screen of the in-vehicle display screen when receiving the in-vehicle skin switching instruction, and covers the static image on the top layer of the in-vehicle display screen, so that the user cannot temporarily see the ongoing skin switching process, and at the same time, each application module performs skin switching according to the skin change instruction. When the skin change instruction has been issued for a first preset duration, the static image is removed, and the switched skins of each application module are synchronously displayed on the in-vehicle display screen, which can ensure that the user sees a consistent skin switching effect in the in-vehicle system and improves the user experience during in-vehicle skin switching. Description of the Drawings
[0051] The accompanying drawings here are incorporated into the specification and form a part of this specification, showing embodiments consistent with this application, and are used together with the specification to explain the principles of this application.
[0052] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the following will briefly introduce the accompanying drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0053] Figure 1 It is a system architecture diagram of a method for switching in-vehicle skin provided in an embodiment of this application;
[0054] Figure 2 It is a schematic flowchart of a method for switching in-vehicle skin provided in an embodiment of this application;
[0055] Figure 3 It is a schematic flowchart of a method for switching in-vehicle skin provided in another embodiment of this application;
[0056] Figure 4 It is a schematic structural diagram of a device for switching in-vehicle skin provided in an embodiment of this application;
[0057] Figure 5 It is a schematic structural diagram of an electronic device provided in an embodiment of this application. Specific Embodiments
[0058] The following will illustrate the embodiments of this application with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. This application can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this application. It should be understood that the preferred embodiments are only for illustrating this application and not for limiting the protection scope of this application.
[0059] The first embodiment of this application provides a method for switching in-vehicle skin, and this method can be applied to a system architecture as Figure 1 shown. At least an interaction module 101 and a data processing module 102 are included in this system architecture, and a communication connection is established between the interaction module 101 and the data processing module 102. Specifically, this system architecture can be an in-vehicle system. Of course, this system architecture can also be a vehicle including an in-vehicle system, where the type of the vehicle is not limited. For example, it can be a fuel vehicle, a pure electric vehicle, a hybrid vehicle, a fuel cell vehicle, etc.
[0060] Next, based on this system architecture, the method for switching the in-vehicle device skin will be described in detail as follows Figure 2 , the method for switching the in-vehicle device skin includes:
[0061] Step 201, in response to an in-vehicle device skin switching instruction, capture a static image of the current display screen of the in-vehicle device display.
[0062] The skin switching instruction can be a touch instruction for switching the skin received from an interaction module such as a center console screen, or an instruction for switching the skin issued from a user terminal, without limitation. The skin switching instruction can be an instruction for switching from a light skin to a dark skin, or an instruction for switching to a skin of a different style, etc. When the skin switching instruction is received, capture a static image of the current display screen of the in-vehicle device display.
[0063] The data processing module can specifically include a skin switching module, an application module, and an image overlay module. Among them, the skin switching module is responsible for passing the received skin switching instruction to all application modules. At the same time, the skin switching module is also responsible for capturing a static image of the current screen. Each application module contains its own resource library, such as different resources under each skin. After receiving the skin switching instruction (or skin change notice), resource replacement is performed according to the new skin configuration. The application modules operate independently of each other and can be uniformly managed for skin switching through the skin switching module. The image overlay module is responsible for overlaying the captured static image of the current screen on top of all applications during the skin switching process, and removing the static image within a first preset duration, such as fading out the image within 2 seconds, to ensure that the skin switching process is synchronously switched for the user.
[0064] Specifically, when the user selects a new skin through the interaction interface, the skin switching module will first pause all ongoing user interface refresh operations and capture a static image of the current screen. This image includes all the cards and application content displayed on the screen. This step ensures that the user does not see any changes in the application interface during the entire skin switching process. This step can be implemented by calling the application programming interface (API) of the Android system, such as the SurfaceControl.screenshot() API. SurfaceControl.screenshot() is an API provided in the Android system for capturing the current display content on the screen and generating a static image, such as saving it in the Bitmap format.
[0065] The steps are as follows:
[0066] Call the API: In the skin switching module, first call SurfaceControl.screenshot(), which will return a static image of the current screen content. For example, through the following program:
[0067] Bitmap screenshotBitmap = SurfaceControl.screenshot(new Rect(0, 0, screenWidth, screenHeight));
[0068] Among them, oRect is the specified screen range, usually the entire screen size here, for example, the width and height of the current screen are obtained through screenWidth and screenHeight.
[0069] Saving the image: The captured image will be saved as a Bitmap object and will be used later to overlay on the application interface.
[0070] Step 202, overlay the static image on the top layer of the in-vehicle display screen.
[0071] The captured static image is immediately drawn on the entire screen, covering all running application modules. At this time, the user can only see the static image on the screen and will not be aware of the skin-changing operation being performed in the background. The key to this step is to ensure that the overlay of the static image can seamlessly fit the current user interface, giving the user a sense of visual coherence.
[0072] In one embodiment, overlaying the static image on the top layer of the in-vehicle display screen includes: creating a full-screen overlay layer on the top layer of the in-vehicle display screen; inserting the static image into the full-screen overlay layer.
[0073] In this embodiment, a full-screen overlay layer (Overlay Layer) is created on the top layer of the in-vehicle display screen, and the static image is inserted into the full-screen overlay layer. Specifically, the image overlay operation can be completed by using a custom View layer as the full-screen overlay layer. This View layer has a higher priority than all application interfaces, ensuring that it can completely cover all application modules and cards. Specifically, the overlay layer can be a full-screen transparent layout for carrying the static image of the captured screen. After inserting the static image into the overlay layer, the user can only see this static image and will not perceive the skin-changing operation of the background application modules.
[0074] To ensure that the overlay layer is displayed above all applications, its layer priority (z-index) can be set. In Android, a View can be added to the root layout, and by placing the overlay layer into the WindowManager, it is ensured that it is displayed on the top covering the entire screen. The View can be configured through WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY to be above all application windows.
[0075] In one embodiment, capturing a static image of the current display screen of the in-vehicle infotainment system includes: detecting whether there is a dynamic area in the current display screen; if there is no dynamic area, capturing the entire display screen of the in-vehicle infotainment system to obtain a static image; if there is a dynamic area, capturing the display screens of all static areas outside the dynamic area to obtain a static image.
[0076] In this embodiment, since there are likely to be dynamic areas in the display screen, such as the media player area, video area, and lyric scrolling area, if the full screen is directly captured, the dynamic area may also be in a static state during the switching process, which will affect the user's viewing effect. At this time, it is necessary to detect whether there is a dynamic area in the current display screen. If there is no dynamic area, capture the entire display screen of the in-vehicle infotainment system to obtain a static image. If there is a dynamic area, capture the display screens of all static areas outside the dynamic area to obtain a static image.
[0077] During the skin-changing process, it is very important to perform special processing on dynamic areas (such as playing music lyrics, page animations, videos, etc.) because these areas need to be continuously updated and cannot be covered by static screenshots. In one embodiment, the step of capturing the display screens of all static areas outside the dynamic area to obtain a static image can be processed in at least the following two ways to ensure that the skin-changing process does not affect the dynamic display of these areas.
[0078] The first way is to obtain the area coordinates of the dynamic area; capture the display screens of other areas outside the area coordinates in the in-vehicle infotainment system display screen to obtain a static image.
[0079] This method can also be called the area exclusion method. When capturing the screen, exclude these dynamic areas and only capture the images of other static areas, while the dynamic areas continue to display content in real time. Areas where dynamic content may appear (such as media player areas, video areas, lyric scrolling areas, etc.) can be defined in advance, and the screenshot operation can be skipped according to the coordinates of these areas during skin-changing. It can also be to dynamically monitor the dynamic areas to obtain the area coordinates of the dynamic areas. It can also be to listen to the dynamic updates at the application layer, such as the content update of the lyric area and the changes in video playback, to dynamically determine which areas need to remain dynamic and not be covered. After obtaining the area coordinates of the dynamic areas, when capturing the image, only capture the display screens of other areas outside the area coordinates to obtain a static image. For example, when using a Canvas object to draw the captured image, exclude the rectangular area (Rect) corresponding to the dynamic area to ensure that these areas maintain their original dynamic display.
[0080] The second way is to capture the current display screen of the in-vehicle infotainment system to obtain a preliminary static image; remove the dynamic areas in the preliminary static image; set the removed areas in the preliminary static image to be transparent to obtain a static image.
[0081] This method can also be called local transparency processing. That is, for dynamic regions, after the screenshot is completed, these regions can be set to be transparent so that the dynamic content can continue to be displayed on the screen without being blocked by the static overlay image. Since the dynamic regions are not covered, music lyrics, videos, or special effects can continue to be rendered in real time without being covered by the static screenshot, and the user can continue to view this dynamic content.
[0082] Step 203: Send a skin change instruction to all application modules currently displayed on the in-vehicle display screen; wherein, the skin change instruction is used to instruct the application modules to perform skin switching.
[0083] When intercepting the static image of the current display screen of the in-vehicle display screen and covering the static image on the top layer of the in-vehicle display screen, send a skin change instruction to all application modules currently displayed on the in-vehicle display screen to instruct the application modules to change the skin.
[0084] Step 204: Remove the static image when the first preset duration has elapsed after the skin change instruction is sent, so as to synchronously display the switched skin on the in-vehicle display screen; wherein, the first preset duration is greater than or equal to the maximum duration required for skin switching in all application modules.
[0085] In this method, when receiving the in-vehicle skin change instruction, intercept the static image of the current display screen of the in-vehicle display screen and cover the static image on the top layer of the in-vehicle display screen, so that the user cannot temporarily see the ongoing skin change process. At the same time, each application module performs skin switching according to the skin change instruction. When the first preset duration has elapsed after the skin change instruction is sent, remove the static image, and synchronously display the switched skins of each application module on the in-vehicle display screen, which can ensure that the user sees a consistent skin change effect in the in-vehicle system and improves the user experience during in-vehicle skin switching.
[0086] In one embodiment, removing the static image when the first preset duration has elapsed after the skin change instruction is sent includes: sending a fade-out instruction when the second preset duration has elapsed after the skin change instruction is sent; the second preset duration is less than the first preset duration; in response to the fade-out instruction, the display transparency of the static image gradually decreases until the display transparency of the static image drops to zero when the first preset duration has elapsed after the skin change instruction is sent; when the display transparency of the static image drops to zero, remove the static image.
[0087] In this embodiment, the static image can be removed after the first preset duration, and a fade-out instruction can be sent after the second preset duration to gradually fade out the static image. The first preset duration can be, for example, 2 seconds, and the second preset duration can be, for example, 1 second. That is, the static image is first displayed for 1 second, and then the image fades out within 1 second, achieving the display transparency of the static image being reduced to zero within 2 seconds. When the display transparency of the static image is reduced to zero, the static image is removed, thus ensuring that the skin-changing process is synchronously switched for the user.
[0088] In addition to the transparency processing of the dynamic areas, for the content update of these areas, it is also necessary to ensure that they do not freeze or lag during the skin-changing process. To this end, the following measures can be taken:
[0089] 1. Local refresh mechanism
[0090] For the dynamic content area, the application module can implement a local refresh mechanism to only perform local redrawing on the dynamic area without affecting the static screenshot of the entire screen.
[0091] Video and animation: For the video playback area, the player module usually manages the rendering independently, and it can be set that the video area is not affected by the full-screen overlay during the skin-changing process. By listening to the skin-changing process, only the static part is applied with the skin change, and the video player continues to update the content normally.
[0092] Music lyrics: The scrolling of the lyrics in the music application also needs to be processed separately, allowing the lyrics module to continue receiving timeline updates during the skin-changing process and synchronously scrolling and displaying.
[0093] 2. Priority update of dynamic areas
[0094] During the skin-changing process, since most application modules will perform resource switching or re-rendering, it may cause delays in the content update of the dynamic areas. To avoid this situation, the dynamic areas can be set as high-priority areas to ensure that their content updates are not affected by the skin change.
[0095] In this embodiment, the content update priority of the dynamic areas is set to high priority so that the content update priority of the dynamic areas is higher than the priority of the skin change of the static areas. For example, during the skin-changing process, the rendering tasks of the dynamic areas are executed on a high-priority thread to ensure that the rendering speed of these areas is faster than the skin-changing operations of other static areas.
[0096] 3. Double-buffer mechanism
[0097] In one embodiment, when there is a dynamic area, the method further includes: configuring a double buffer for the skin switching of the dynamic area; wherein, one buffer in the double buffer is used to display content in real time, and the other buffer in the double buffer is used to update the skin or update the content; using the mutual switching between the double buffers to display and switch the skin of the dynamic area.
[0098] In this embodiment, to avoid affecting the smoothness of the dynamic area during skin changing, a double buffer mechanism can be implemented for the dynamic area. That is, configure a double buffer for the skin switching of the dynamic area. When processing skin changing in the background, the content of the dynamic area switches back and forth between the two buffers, always keeping one buffer for displaying content in real time and the other buffer for updating the new skin or new content to ensure a smooth transition during the skin changing process.
[0099] Although the dynamic area is not covered by static screenshots during the skin changing process, to ensure visual consistency, the replacement of skin changing resources in the dynamic area needs to be synchronized as much as possible, which can be ensured by the following methods:
[0100] Priority loading of skin changing resources: For skin changing resources of the dynamic area (such as lyrics background, video playback control interface, etc.), they can be loaded in advance to give priority to completing the resource replacement of the dynamic area.
[0101] Animation synchronization with skin changing: For the dynamic area, the animation during skin changing needs to be synchronized with the skin changing time of the static area part. A unified time control mechanism can be set to ensure that the start and end of the dynamic effect are consistent with the skin changing process.
[0102] In the above processing of the dynamic area, the methods of area exclusion and transparency processing are adopted to ensure that the dynamic area (such as video, lyrics, dynamic effects) will not be covered by static screenshots during the skin changing process and continue to be updated and displayed normally. At the same time, through technologies such as double buffer mechanism and priority rendering, the smoothness of dynamic content and the consistency of skin changing effect are ensured. This design provides users with a more coherent and smooth visual experience, while maintaining the aesthetics and consistency of the in-vehicle system, without interrupting or affecting the display of dynamic content.
[0103] In a music application or other dynamic content display areas, if the font style or skin resources of the non-screenshot part change with skin changing while other parts are still in the old skin state, it will cause the problem of inconsistent skin changing of the page. To solve this inconsistent skin changing phenomenon, while ensuring the update of the dynamic area content and ensuring visual consistency, the following several strategies can be used.
[0104] The first strategy, delayed skin changing for the dynamic area. After a first preset duration from the skin changing instruction being issued, instruct the target application module of the dynamic area to switch the skin.
[0105] Specifically, after the skin change indication is issued for a first preset time period, the target application module in the dynamic area is instructed to switch skins, including: determining static resources and dynamic resources in the dynamic area; switching the skins of static resources based on the skin change indication; and switching the skins of dynamic resources after the skin change indication is issued for a first preset time period.
[0106] In this embodiment, in order to ensure that the dynamic area is visually synchronized with the skinning of the static area, the skinning operation of the dynamic area can be appropriately delayed until the skinning operation of the static area is completed. This method ensures that the dynamic area (such as the lyrics font, background color, etc.) will not be changed in advance when the static part has not completed the skinning.
[0107] Implementation steps:
[0108] Delayed skin change trigger: When the skin change starts, all application modules receive the skin change notification, but the dynamic area (such as the lyrics scrolling area) does not switch the skin immediately. Instead, the skin change operation is delayed until the overlay fades out.
[0109] Synchronization delay time: In order to make the skinning effect of the entire interface consistent, a delay time can be set for the dynamic area (for example, 2 seconds, consistent with the fade-out time of the screenshot). After the fade-out effect is completed, the dynamic area will switch skins.
[0110] Listen for the end of the fade-out animation: When the fade-out animation ends, trigger the skinning operation of the dynamic area. This ensures that the skinning of the dynamic area and the static area are completed at the same time in the user's eyes.
[0111] The second strategy is a double-layer screen coverage mechanism.
[0112] In one embodiment, the method further includes: capturing the current dynamic picture of the dynamic area to obtain a static image of the area; overlaying the static image of the area on the top layer of the dynamic area; and synchronously removing the static image and the static image of the area after the skin change indication is issued for a first preset time.
[0113] In this embodiment, if the skinning of the dynamic area does need to be partially synchronized with the static area, but inconsistency in the middle needs to be avoided, a double-layer screen covering mechanism can be used, which is specifically implemented as follows:
[0114] Dynamic area separate coverage
[0115] When changing the skin, not only the static area is covered, but also a screenshot is generated for the dynamic area. This overlay is also a static image in the current state. Although the dynamic area (such as lyrics) should continue to scroll, the user will see a static screenshot of the lyrics, which is consistent with other static parts.
[0116] Screenshot of the dynamic area: Take a static picture of the dynamic area as well and overlay it on the actual dynamic area.
[0117] Unified fade-out: After the skin-changing operations of all application modules are completed, the overlays of the dynamic area and the static area fade out synchronously. This can ensure that the user sees a synchronized static picture before the fade-out effect, avoiding the incoordination caused by the premature skin change in the dynamic area.
[0118] Restore dynamic content after synchronized skin change
[0119] After the fade-out effect ends, the dynamic area restores its original dynamic content and applies the new skin-changing effect at the same time. The user will see that both the static and dynamic parts have completed the skin change and the dynamic content playback (such as lyric scrolling, video continuation, etc.) resumes after the fade-out ends.
[0120] The third strategy is phased skin change processing.
[0121] For more complex scenarios, a phased skin change processing method can be adopted. That is, the skin change operation of the dynamic area is divided into two phases:
[0122] The first phase: Only replace the static resources (such as background color, border, etc.) and retain the old skin of the dynamic content (such as lyrics, video) until all static parts have completed the skin change. First, send a skin change notice, and all static areas immediately start the skin change, but the dynamic area (such as lyrics) maintains the existing skin and continues to scroll and display.
[0123] The second phase: When the fade-out animation ends, the dynamic area starts to load the new skin resources (such as new font styles, text colors, etc.) and resumes the normal update of the dynamic content. This can avoid inconsistent visual experiences between the dynamic area and the static area during the skin change process. After the skin change and fade-out animation of the static area are completed, trigger the skin replacement of the dynamic area and synchronously resume the dynamic display content (such as lyric scrolling under the new skin).
[0124] The fourth strategy is local skin change gradient processing.
[0125] To achieve a consistent visual effect between the skin change of the dynamic area and the static part, a gradient effect can be introduced for the skin change operation of the dynamic area. By gradually changing the skin resources (such as lyric fonts, colors, etc.) of the dynamic area, the skin change of the dynamic area can be consistent with the visual changes of the entire interface.
[0126] Gradient effect of the dynamic area: During the skin change process, the attributes such as fonts and colors of the dynamic area are transitioned to the new skin in a gradient manner.
[0127] Synchronize with the fade of the static part: When applying a fade-in skin change in the dynamic area, ensure that the fade-out effect of the static part is on the same timeline. In this way, the skin change perceived by the user is a holistic visual change, avoiding the premature completion or lag of the skin change in the dynamic area.
[0128] Special optimizations for different dynamic areas: Different dynamic areas may have different presentation forms. Therefore, in the specific implementation, personalized processing can be carried out according to the content type.
[0129] Music lyrics: If the changes in the font and color of the lyrics affect visual consistency, the lyrics area can be screenshot in advance during the skin change process to generate a static display, and at the same time, the lyrics scrolling can be paused. After the fade-out is completed, the scrolling is resumed and the new skin is switched.
[0130] Video playback: The video area can be processed independently to avoid being covered or interrupted during the skin change process, and at the same time, the fade-in and fade-out animation effects ensure a smooth transition of the video interface.
[0131] Motion effects and animations: For page motion effects, ensure that the animations are synchronized with the skin change time of the static area, and adopt a unified animation control mechanism to make the animation effects and skin change effects transition uniformly.
[0132] In the embodiments of the present application and the above embodiments, considering the differences in the response times and resource loading times of different application modules, which are likely to cause the problem of out-of-sync during the skin change process, by intercepting the current screen image and covering the interface, the user cannot perceive the asynchronous skin change operations of the background applications, significantly improving the visual experience during the skin change process.
[0133] The image fade-out mechanism is introduced to enable the skin change operation to achieve a seamless effect visually. By controlling the transparency change of the screen image, the interface gradually displayed after the skin change is presented with a natural transition effect. This design can greatly enhance the dynamic interaction sense of the in-vehicle system UI.
[0134] Through the unified skinning mechanism, the problem of synchronous skinning of multiple applications and multiple cards is solved, and the skinning experience in multi-tasking and multi-application operation scenarios is greatly improved. Through synchronous skinning, users can see unified interface changes without feeling visual disharmony due to the asynchronous loading time of each application. It is particularly suitable for environments such as car computers that require a simple and consistent user experience. In addition, the coordination difficulty of skinning of various application modules is simplified. Each application module only needs to receive skinning notifications, which reduces the complexity of communication between different modules, thereby improving development efficiency and reducing subsequent maintenance costs. It also enhances the stability of the car computer system. By overwriting static images, it effectively solves the instability caused by application response delays or resource loading failures during the skinning process. Even if an application fails to complete the skinning in time, the user will not perceive the abnormality of the skinning on the interface, which has important practical value for enhancing system stability and user satisfaction.
[0135] In a specific embodiment, a vehicle skin switching method, such as Figure 3 ,include:
[0136] Step S1, the user selects a new skin;
[0137] Step S2, the skinning module captures the current screen; and executes steps S3 and S4;
[0138] Step S3, displaying the captured screen image over all applications;
[0139] Step S4, notifying all application modules to change skins;
[0140] Step S5, each application module loads new skin resources;
[0141] Step S6, start a 2s countdown to fade out the image;
[0142] Step S7, fading out is completed, and a new synchronous skin-changing effect is displayed.
[0143] The embodiments of the present application and the above embodiments can achieve the following effects:
[0144] Screen image overlay and synchronous skinning: By capturing a static image of the current screen and overlaying it on top of all apps and cards, users will not see the phenomenon of asynchronous skinning of various apps and cards during the skinning process. The screen image will cover the entire interface after the skinning notification is issued, and gradually fade out after the skinning operation is completed, showing the effect of synchronous skinning of all apps.
[0145] Fade-out mechanism: While notifying the application to change the skin, a 2-second image fade-out process is designed, and the overlaid image is completely removed only after the skin change is completed. This design ensures a natural and unified visual transition during skin change, avoiding lags or inconsistencies caused by asynchronous loading times of skin change resources.
[0146] Multi-card and multi-application synchronous skin change: For the multi-application and multi-card interface layout of the in-vehicle system, the embodiments of the present application solve the problem of time difference that occurs during the skin change of each application. By centrally managing the skin change operation, it is possible to perform skin change processing on multiple applications and cards simultaneously, avoiding the user experience problem of asynchronous skin change in the multi-application interface of the current in-vehicle system.
[0147] Based on the same technical concept, the second embodiment of the present application provides an in-vehicle skin switching device, as Figure 4 , the device includes:
[0148] A screenshot module 401, configured to intercept a static image of the current display screen of the in-vehicle display screen in response to an in-vehicle skin switching instruction;
[0149] An overlay module 402, configured to overlay the static image on the top layer of the in-vehicle display screen;
[0150] A sending module 403, configured to send a skin change instruction to all application modules currently displayed on the in-vehicle display screen; wherein, the skin change instruction is used to instruct the application module to perform skin switching;
[0151] A synchronous display module 404, configured to remove the static image after a first preset duration from the issuance of the skin change instruction, so as to synchronously display the switched skin on the in-vehicle display screen; wherein, the first preset duration is greater than or equal to the maximum duration required for skin switching in all the application modules.
[0152] When receiving an in-vehicle skin switching instruction, the device intercepts a static image of the current display screen of the in-vehicle display screen, overlays the static image on the top layer of the in-vehicle display screen, making the user temporarily unable to see the ongoing skin change process. At the same time, each application module performs skin switching according to the skin change instruction. After a first preset duration from the issuance of the skin change instruction, the static image is removed, and the switched skins of each application module are synchronously displayed on the in-vehicle display screen, which can ensure that the user sees a consistent skin change effect in the in-vehicle system and improves the user experience during in-vehicle skin switching.
[0153] As Figure 5As shown in the figure, the third embodiment of the present application provides an electronic device, including a processor 111, a communication interface 112, a memory 113, and a communication bus 114. Among them, the processor 111, the communication interface 112, and the memory 113 complete communication with each other through the communication bus 114.
[0154] The memory 113 is used to store computer programs.
[0155] In one embodiment, when the processor 111 is used to execute the program stored on the memory 113, it implements the in-vehicle skin switching method provided by any of the foregoing method embodiments.
[0156] The memory and the processor in the above electronic device communicate through the communication bus and the communication interface. The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc.
[0157] The memory can include a Random Access Memory (RAM), and can also include a non-volatile memory, such as at least one disk memory. Optionally, the memory can also be at least one storage device located far from the aforementioned processor.
[0158] The above-mentioned processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0159] The fourth embodiment of the present application provides a computer-readable medium having non-volatile program code executable by a processor.
[0160] Optionally, in the embodiments of the present application, the computer-readable medium is configured to store program code for the processor to execute the above method.
[0161] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and will not be elaborated herein.
[0162] In the specific implementation of the embodiments of the present application, reference may be made to the above various embodiments, and corresponding technical effects can be achieved.
[0163] It can be understood that the embodiments described herein can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions of the present application, or a combination thereof.
[0164] For software implementation, the techniques herein can be implemented by units that execute the functions herein. The software code can be stored in a memory and executed by a processor. The memory can be implemented within the processor or external to the processor.
[0165] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled artisans can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present application.
[0166] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0167] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of modules is only a logical function division. In actual implementation, there may be other division methods. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces. The indirect coupling or communication connection of devices or units can be in electrical, mechanical or other forms.
[0168] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0169] In addition, in each embodiment of this application, each functional unit can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.
[0170] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, in essence, or the part that contributes to the prior art, or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of this application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical discs that can store program codes.
[0171] It should be noted that in this text, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprising", "including" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the existence of additional identical elements in the process, method, article or device comprising the element.
[0172] The above embodiments are only preferred embodiments given to fully illustrate the present application, and the protection scope of the present application is not limited thereto. Equivalent substitutions or transformations made by those skilled in the art on the basis of the present application are within the protection scope of the present application.
Claims
1. A method for switching car infotainment system skins, characterized in that, The method includes: In response to a vehicle head unit skin switching instruction, intercept a static image of the current display screen of the vehicle head unit display; Overlay the static image on the topmost layer of the vehicle head unit display; Send a skin change instruction to all application modules currently displayed on the vehicle head unit display; wherein, the skin change instruction is used to instruct the application modules to perform skin switching; After a first preset duration from the issuance of the skin change instruction, remove the static image so as to synchronously display the switched skin on the vehicle head unit display; wherein, the first preset duration is greater than or equal to the maximum duration required for skin switching in all the application modules.
2. The method according to claim 1, characterized in that, After a first preset duration from the issuance of the skin change instruction, removing the static image includes: After a second preset duration from the issuance of the skin change instruction, send a fade-out instruction; the second preset duration is less than the first preset duration; In response to the fade-out instruction, the display transparency of the static image gradually decreases until the display transparency of the static image drops to zero when the first preset duration from the issuance of the skin change instruction is reached; When the display transparency of the static image drops to zero, remove the static image.
3. The method according to claim 1, characterized in that Overlaying the static image on the topmost layer of the vehicle head unit display includes: Create a full-screen overlay layer on the topmost layer of the vehicle head unit display; Insert the static image into the full-screen overlay layer.
4. The method according to claim 1, wherein Intercepting a static image of the current display screen of the vehicle head unit display includes: Detect whether there is a dynamic area in the current display screen; If there is no such dynamic area, intercept the entire display screen of the vehicle head unit display to obtain the static image; If there is such a dynamic area, intercept the display screens of all static areas outside the dynamic area to obtain the static image.
5. The method according to claim 4, characterized in that The dynamic area includes at least one of a media player area, a video area, and a lyrics scrolling area.
6. The method according to claim 4, wherein Intercepting the display screens of all static areas outside the dynamic area to obtain the static image includes: Obtain the area coordinates of the dynamic area; intercept the display screen of other areas outside the area coordinates in the vehicle head unit display to obtain the static image; Or, Intercept the current display screen of the vehicle head unit display to obtain a preliminary static image; remove the dynamic area in the preliminary static image; set the removed area in the preliminary static image to be transparent to obtain the static image.
7. The method according to claim 4, characterized in that When there is such a dynamic area, the method further includes: Set the content update priority of the dynamic area to a high priority so that the content update priority of the dynamic area is higher than the priority of skin switching of the static area.
8. The method according to claim 7, wherein When there is such a dynamic area, the method further includes: Configure a double buffer for skin switching of the dynamic area; wherein, one buffer in the double buffer is used to display content in real time, and the other buffer in the double buffer is used to update the skin or update the content; Use the mutual switching between the double buffers to display and switch the skin of the dynamic area.
9. The method according to claim 8, characterized in that, The method further includes: when a first preset duration has elapsed after the skin change instruction is issued, instructing the target application module in the dynamic area to switch the skin.
10. The method according to claim 9, wherein When a first preset duration has elapsed after the skin change instruction is issued, instructing the target application module in the dynamic area to switch the skin includes: Determining static resources and dynamic resources in the dynamic area; Based on the skin change instruction, performing skin switching on the static resources; When a first preset duration has elapsed after the skin change instruction is issued, performing skin switching on the dynamic resources.
11. The method according to claim 4, characterized in that, The method further includes: Capturing the current dynamic screen of the dynamic area to obtain a regional static image; Covering the regional static image on the topmost layer of the dynamic area; When a first preset duration has elapsed after the skin change instruction is issued, synchronously removing the static image and the regional static image.
12. A vehicle-mounted computer skin switching device, characterized in that, The device includes: A screenshot module, configured to capture a static image of the current display screen of the in-vehicle display in response to an in-vehicle skin switching instruction; A covering module, configured to cover the static image on the topmost layer of the in-vehicle display; A sending module, configured to send a skin change instruction to all application modules currently displayed on the in-vehicle display; wherein, the skin change instruction is used to instruct the application modules to switch the skin; A synchronous display module, configured to remove the static image when a first preset duration has elapsed after the skin change instruction is issued, so as to synchronously display the switched skin on the in-vehicle display; wherein, the first preset duration is greater than or equal to the maximum duration required for skin switching in all the application modules.
13. A vehicle, characterized in that, The vehicle applies the method according to any one of claims 1-11.
14. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory complete mutual communication through the communication bus; The memory is used for storing a computer program; The processor, when executing the program stored on the memory, implements the method according to any one of claims 1-11.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, it implements the method according to any one of claims 1-11.