Display device
By listening to the scrolling state of the scroll view and dynamically switching the focus response strategy, the problem of inconsistent animation effects caused by the cursor rapidly switching the focus of subviews during inertial scrolling of the remote control scroll view was solved, thus improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-25
- Publication Date
- 2026-04-14
AI Technical Summary
During the inertial swipe of the remote control's scroll view, the cursor rapidly switching focus on subviews causes the animation to be disjointed, affecting the user experience.
By listening to the scrolling state of the scroll view, dynamically switching the focus response strategy, and intercepting or delaying the hover events of subviews, the default style of subviews is ensured to be maintained during inertial scrolling.
This achieves smooth animation of subviews during inertial scrolling, improving the user experience.
Smart Images

Figure CN121865023A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display device technology, and more particularly to a display device and a view control method for the display device. Background Technology
[0002] Pointing at the remote is a new way to control a television. Its interaction is similar to using a mouse, allowing users to easily operate the TV by pointing at the remote. Unlike products that are directly controlled by touch, television devices require remote control operation, thus incorporating the concept of focus to allow users to intuitively perceive which interface element they are interacting with.
[0003] However, when the scroll view is scrolling, the cursor pointing to the remote control will successively point to each subview contained in the scroll view. As a result, during the scrolling process, the focus state of each subview pointed to by the cursor will be adjusted from the default state to the focus-occupied state, and a focus style (such as view zoom, view color change, etc.) will be displayed on the subview. Due to the rapid scrolling of the scroll view, the cursor will point to another subview before the focus style of the subview has been fully displayed, resulting in a discontinuous display of subview animation effects and affecting the user's viewing experience. Summary of the Invention
[0004] On one hand, some embodiments of this application provide a display device, including: The display is configured to: display a user interface, on which a scroll view and at least one subview corresponding to the scroll view are displayed; the user interface also has a cursor, the position of which is determined by the position pointed to by the remote control in three-dimensional space; The controller, connected to the display, is configured as follows: In response to touch and swipe events from the remote control, determine the scrolling status of the scroll view; When the scroll view is stationary or being dragged / slided, execute the focus switching response logic; When the scroll view switches from drag-and-scroll state to inertial scroll state, or is in inertial scroll state, execute the focus switching blocking logic; When the scroll view switches to a static state, the focus switching response logic is reactivated.
[0005] On the other hand, some embodiments of this application provide a view control method applied to a display device, the display device including a display and a controller, the display being configured to: display a user interface, the user interface displaying a scrolling view and at least one subview corresponding to the scrolling view; the user interface further having a cursor, the position of the cursor on the user interface being determined by the position pointed to by a remote controller in three-dimensional space; the method includes: In response to a touch swipe event from the remote control, determine the swiping status of the scroll view; When the scroll view is stationary or in a drag-and-swipe state, execute the focus switching response logic; When the scroll view switches from drag-and-slide state to inertial scroll state, or is in inertial scroll state, execute the focus switching blocking logic; When the scroll view switches to a static state, the focus switching response logic is reactivated.
[0006] This application provides a display device and a view control method for the display device, which can dynamically switch focus response strategies based on the real-time motion state (stationary / drag-and-slide / inertial swipe) of a list view: when the scroll view is stationary or in a drag-and-slide state, focus switching response logic is executed; when switching from a drag-and-slide state to an inertial swipe state, focus switching blocking logic is executed; when the scroll view is in an inertial swipe state, focus switching blocking logic is executed; when the scroll view switches to a stationary state, focus switching response logic is reactivated. This allows for a cyclical execution of dragging and inertial swipe actions during continuous user scrolling, until the scroll view stops swiping and switches back to a stationary state. To ensure that during inertial swipes, subviews do not revert to their default display style before fully focusing, in principle... Attached Figure Description
[0007] To more clearly illustrate the technical solutions in some embodiments or related technologies of this application, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0008] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application; Figure 2 This is a schematic diagram of the hardware configuration of a display device provided in some embodiments of this application; Figure 3This is a schematic diagram of the hardware configuration of the control device provided in some embodiments of this application; Figure 4 This is a schematic diagram of the software configuration of a display device provided in some embodiments of this application; Figure 5 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 6 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 7 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 8 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 9 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 10 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 11 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 12 A schematic diagram illustrating the pointer of a remote control provided in some embodiments of this application; Figure 13 A schematic diagram illustrating the display effect of view controls provided in some embodiments of this application; Figure 14 A schematic diagram illustrating the display effect of view controls provided in some embodiments of this application; Figure 15 A schematic diagram illustrating the display effect of view controls provided in some embodiments of this application; Figure 16 A schematic diagram illustrating the display effect of view controls provided in some embodiments of this application; Figure 17 This application provides schematic diagrams illustrating the steps of a view control method according to some embodiments. Figure 18 Structural block diagrams of a view control device provided in some embodiments of this application; Figure 19 This application provides schematic diagrams illustrating the steps of a view control method according to some embodiments. Figure 20 This is a schematic diagram illustrating the steps of a view control method provided in some embodiments of this application. Detailed Implementation
[0009] Some embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described below do not represent all embodiments consistent with this application. They are merely examples of systems and methods consistent with some aspects of this application as detailed in the claims.
[0010] In some embodiments of this application, the display device 200 generally refers to a device with screen display and data processing capabilities. For example, the display device 200 includes, but is not limited to, smart TVs, mobile terminals, computers, monitors, advertising screens, wearable devices, virtual reality devices, augmented reality devices, etc. Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application. For example... Figure 1 As shown, users can operate the display device 200 via touch operation, mobile terminal 300, and control device 100. For example, control device 100 can be a remote control, stylus, gamepad, etc.
[0011] like Figure 1 The diagram also shows that the display device 200 communicates with the server 400 via various communication methods. The display device 200 can communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks. The display device 200 can provide broadcast television reception functionality and can also be additionally equipped with intelligent network television functionality that provides computer support, including but not limited to, internet television, smart television, and Internet Protocol television (IPTV).
[0012] Figure 2 Provided for some embodiments of this application Figure 1The diagram shows the hardware configuration of the display device 200. In some embodiments, the display device 200 may include at least one of a tuner / demodulator 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory 291, a power supply 292, and a user input interface 280. In some embodiments, the detector 230 is used to collect signals from the external environment or to interact with the external environment. For example, the detector 230 includes a light receiver, a sensor for collecting ambient light intensity; or, the detector 230 includes an image acquisition device 2301, such as a camera, which can be used to collect external environmental scenes, user attributes, or user interaction gestures; or, the detector 230 includes a sound acquisition device 2302, such as a microphone, for receiving external sounds. In some embodiments, the display 260 includes display function components for presenting images and driving components for driving image display. The display 260 is used to receive and display image signals output from the controller 250. For example, the display 260 can be used to display video content, image content, menu control interface components, and user control UI interfaces, etc. In some embodiments, the device interface includes at least one of HDMI 2401, CVBS 2402, component 2403, and USB 2404.
[0013] In some embodiments, the communication device 220 is a component used to communicate with external devices or the server 400 according to various communication protocol types. The display device 200 may have multiple communication devices 220 depending on the supported communication methods. For example, when the display device 200 supports wireless network communication, it may have a communication device 220 with WiFi functionality. When the display device 200 supports Bluetooth connectivity, it needs to have a communication device 220 with Bluetooth functionality. When the display device 200 supports Ultra-Wideband (UWB) connectivity, it needs to have a communication device 220 with a UWB antenna array. The communication device 220 can enable the display device 200 to communicate with external devices or the server 400 via wireless or wired connections. Wired connections can connect the display device 200 to external devices via data cables, interfaces, or other components. Wireless connections can connect the display device 200 to external devices via wireless signals or wireless networks. The display device 200 can directly establish a connection with external devices, or indirectly establish a connection through gateways, routers, connection devices, etc. In some embodiments, the communication device 220 includes at least one of a WiFi module 2201, a Bluetooth module 2202, and an Ethernet module 2203.
[0014] In some embodiments, the controller 250 may include at least one of a central processing unit 2501, a video processor 2502, an audio processor 2503, a graphics processor 2504, a power processor, RAM 2507, and ROM 2508, and a first interface 2505, a second interface 2506, ... to an nth interface 250n for input / output. The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200. In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices; that is, the tuner 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.
[0015] In some embodiments, a user can input user commands through a graphical user interface (GUI) displayed on the display 260, and the user input interface receives user input commands through the GUI. In some embodiments, the audio output device 270 can be a built-in speaker of the display device 200 or an external audio output device connected to the display device 200. For external audio output devices connected to the display device 200, the display device 200 may also be provided with an external audio output terminal, through which the audio output device can be connected to the display device 200 to output sound from the display device 200. In some embodiments, the user input interface 280 can be used to receive instructions input by the user.
[0016] Figure 3 Provided for some embodiments of this application Figure 1 Hardware configuration block diagram of the central control device. (Example) Figure 3 As shown, the control device 100 may include: a controller 110, a communication interface 130, a user input / output interface 140, a memory 190, and a power supply 180. The control device 100 is configured to control the display device 200, and can receive user input operation commands, converting the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200. In some embodiments, the control device 100 may be an intelligent device. For example, the control device 100 may be equipped with various applications for controlling the display device 200 according to user needs.
[0017] In some embodiments, such as Figure 1 As shown, a mobile terminal 300 or other intelligent electronic device, after installing the application for the control display device 200, can perform functions similar to controlling the device 100. For example... Figure 3As shown, the controller 110 includes a processor 112, RAM 113, and ROM 114. The controller 110 is used to control the operation of the control device 100, as well as communication and cooperation between internal components and external and internal data processing functions. Under the control of the controller 110, the communication interface 130 realizes communication of control signals and data signals with the display device 200. The communication interface 130 may include at least one of other near-field communication modules such as a WiFi chip 131, a Bluetooth module 132, and an NFC module 133. The user input / output interface 140 includes at least one of other input interfaces such as a microphone 141, a touchpad 142, a sensor 143, and a button 144.
[0018] In some embodiments, the control device 100 includes at least one of a communication interface 130 and an input / output interface 140. The control device 100 is configured with the communication interface 130, such as a WiFi, Bluetooth, NFC, or UWB module, which can encode user input commands via WiFi, Bluetooth, NFC, or UWB protocols and send them to the display device 200. In particular, encoding user input commands via the UWB protocol and sending them to the display device 200 can enable control of pointing functions.
[0019] It should be noted that an operating system can be a native operating system based on a specific operating platform, a third-party operating system deeply customized for a specific operating platform, or a standalone operating system specifically developed for a display device. An operating system can be divided into different modules or layers based on the functions it implements, for example... Figure 4As shown, in some embodiments, the system is divided into four layers, from top to bottom: an Applications layer 4001 (hereinafter referred to as the "Application Layer"), an Application Framework layer 4002 (hereinafter referred to as the "Framework Layer"), a System Runtime Library layer 4003, and a Kernel layer 4004. In some embodiments, the Application Layer 4001 provides services and interfaces for applications, enabling the display device 200 to run applications and interact with the user based on the applications. At least one application can run in the Application Layer 4001. These applications can be Windows programs, system settings programs, or clock programs that come with the operating system; they can also be applications developed by third-party developers. In specific implementations, the application packages in the Application Layer are not limited to the examples above. The Application Framework Layer 4002 provides Application Programming Interfaces (APIs) and programming frameworks for applications. The Application Framework Layer 4002 includes some predefined functions. The Application Framework Layer 4002 acts as a processing center, which determines the actions of the applications in the Application Layer. Applications can access system resources and obtain system services during execution through the API interface.
[0020] like Figure 4As shown, in some embodiments of this application, the application framework layer includes a view system, managers, and content providers. The view system designs and implements the application's interface and interactions, and includes lists, grids, text boxes, buttons, etc. The managers include at least one of the following modules: an Activity Manager for interacting with all running activities in the system; a Location Manager for providing system services or applications with access to system location services; a Package Manager for retrieving various information related to application packages currently installed on the device; a Notification Manager for controlling the display and clearing of notification messages; and a Window Manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface. In some embodiments, the Activity Manager manages the lifecycle of each application and common navigation and back functions, such as controlling application exit, opening, and back actions. The window manager manages all window programs, such as obtaining the screen size, determining whether a status bar is present, locking the screen, capturing the screen, and controlling changes to the displayed windows, such as shrinking, dithering, or distorting the display. In some embodiments, the system runtime library layer 4003 can provide support for the framework layer. When the framework layer is used, the operating system runs the instruction libraries contained in the system runtime library layer 4003, such as C / C++ instruction libraries, to implement the functions required by the framework layer. In some embodiments, the kernel layer 4004 is a functional layer between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. For example, ... Figure 4 As shown, kernel layer 4004 can be configured with hardware drivers. The drivers included in kernel layer 4004 can be at least one of the following: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.
[0021] It should be noted that the above examples are merely simple classifications of operating system functions and do not limit the specific operating system form of the display device 200 in some embodiments of this application. Depending on factors such as the function of the display device and the type of the operating system, the number of layers and the specific type of the operating system may take other forms.
[0022] In some embodiments, a display device is provided, comprising: a display configured to display a user interface, the user interface including at least one control; the user interface further having a cursor, the position of which is determined by the position pointed to by a remote control in three-dimensional space. In some embodiments, a user can control the display device to start via voice, a remote control, or the power switch of a television device. After the display device is started, the user interface corresponding to the homepage is displayed on the display. The user can switch to other user interfaces via voice or a remote control, such as the user interface corresponding to a TV series tab, the user interface corresponding to a movie tab, or the user interface corresponding to a page provided by a certain application, etc. Some embodiments of this application do not limit this. In some embodiments, among all the user interfaces displayed on the display, some user interfaces include controls, while others may not. The solutions provided in some embodiments of this application are for user interfaces that include controls. The number of controls on a user interface that includes controls may be one or more, and some embodiments of this application do not limit this.
[0023] In some embodiments, the remote control used in conjunction with the display device can be a remote control with pointing functionality, hereinafter referred to as a pointing remote control. When the pointing function is enabled, a cursor is also displayed on the user interface of the display. The position of the cursor on the user interface is determined by the position pointed to by the pointing remote control in three-dimensional space. In some embodiments of this application, the position pointed to by the pointing remote control in three-dimensional space is also referred to as the position data of the pointing remote control in three-dimensional space. The specific implementation process of determining the position of the cursor on the user interface based on the position data of the pointing remote control is described below. The position data of the pointing remote control in three-dimensional space may include: position coordinates and pointing direction, wherein the position coordinates are the physical position of the pointing remote control relative to the display device (e.g., the horizontal distance, vertical height, etc. from the display device). The pointing direction is the pointing angle of the pointing remote control (e.g., the horizontal angle and vertical angle relative to the display device). The pointing remote control has a built-in gyroscope for detecting the rotation angle of the remote control and an accelerometer for detecting the movement acceleration of the remote control. Through these sensors, the pointing remote control can determine its own position data in three-dimensional space in real time.
[0024] In some embodiments, after acquiring its own position data in three-dimensional space, the remote controller can send this position data to the display device. The display device can perform screen coordinate transformation based on this position data, thereby converting the remote controller's position data in three-dimensional space to the screen coordinate system. The obtained screen coordinates can be used as the cursor's position on the user interface, and the cursor can be drawn at that position to display the cursor. In some embodiments, the remote controller includes a coordinate transformation module. After acquiring its own position data in three-dimensional space, the remote controller can input this position data to the coordinate transformation module. The coordinate transformation module can perform screen coordinate transformation based on this position data, thereby converting the position data to the screen coordinate system to obtain the screen coordinates. These screen coordinates can be used as the cursor's position on the user interface, and the cursor's position on the user interface can be sent to the display device. After receiving the cursor's position on the user interface, the display device draws the cursor at that position to display the cursor. For example, if the cursor's position on the user interface is coordinates (a, b), the display device draws the cursor at coordinates (a, b) on the user interface to display the cursor.
[0025] In some embodiments, see Figure 5 As shown, when the position data of the remote control in three-dimensional space is A, the cursor position on the user interface is coordinates (a1, b1); when the position data of the remote control in three-dimensional space is B, the cursor position on the user interface is coordinates (a2, b2). When the position data of the remote control in three-dimensional space is C, the screen coordinates calculated in the above way exceed the screen range, the display device no longer draws the cursor, and therefore, the cursor disappears.
[0026] See Figure 6 As shown, the remote control supports tapping. When the cursor hovers over a control, the user can press the touch area (OK button) on the remote control, and the display device will respond to the operation by executing the corresponding logic. The control can be a card, button, input box, radio button, switch, dialog box, multi-select button, slider, playback progress bar, scroll bar, drop-down menu, label, list, etc. Some embodiments of this application do not limit this.
[0027] See Figure 7 As shown, the remote control supports selection. When the user interface displays multiple options and their corresponding selection boxes, if the user wants to select the first and third options, they can first control the cursor to hover over the selection box corresponding to the first option and press the touch area on the remote control. At this time, the first option is selected. Then, the user can control the cursor to hover over the selection box corresponding to the third option and press the touch area on the remote control. At this time, the third option is selected, thus completing the selection.
[0028] See Figure 8 As shown, the remote control supports drag-and-drop multi-selection. When the user interface displays multiple options and their corresponding selection boxes, if the user wants to select all options, they can hover the cursor over any position in the area above the first option, press the touch area on the remote control and drag it down until the cursor moves to the area below the last option. At this point, all options will be selected, thus completing the drag-and-drop multi-selection.
[0029] See Figure 9 As shown, the remote control supports dragging. When a video is playing on the user interface and a progress bar is displayed, the user can hover the cursor over a position on the progress bar and then press the touch area on the remote control. The video playing on the user interface will then fast forward or rewind to the corresponding video frame, thus completing the dragging of the playback progress. The progress bar in this example is just one example; draggable controls also include sliders, scroll bars, labels, cards, lists, etc., and some embodiments of this application do not limit this to these.
[0030] See Figure 10 As shown, the remote control supports swiping. When a cursor is displayed on the user interface, the user can swipe up, down, left, or right on the touch area of the remote control, and the display device will respond to these swipes. See also Figure 11 As shown, the remote control supports continuous swiping. When the cursor is displayed on the user interface, the user can continuously swipe up, down, left, or right on the touch area of the remote control. The display device will respond to these continuous swipes and display a damped swipe effect on the user interface. Figure 11 This is a schematic diagram of continuous upward sliding. See also... Figure 12 As shown, the remote control supports continuous reverse swipes. When the cursor is displayed on the user interface, the user can swipe in one direction and then in the opposite direction on the touch area of the remote control. The display device will respond to the continuous reverse swipe and display a damped swipe effect on the user interface. Figure 12 This is a diagram illustrating the process of sliding up first and then down.
[0031] It's worth noting that the pointing remote control is an interactive device developed based on spatial positioning technology. Through precise pointing control and intelligent interaction, it significantly simplifies the interaction process between users and smart devices, making it particularly suitable for users seeking an efficient and intelligent lifestyle. Whether for daily entertainment, home control, or multitasking, the pointing remote control significantly improves operational efficiency and user experience. With the increasing demand for refined mobile terminal interactive experiences, scrolling views (such as list views, grid views, and waterfall views) have become the core entry point for users to browse multi-dimensional information. Users often use quick swipes to filter or locate information. In this scenario, the focus point, as the core anchor point for user interaction with the interface, directly impacts the user's perception of the effectiveness of the operation through visual feedback during its switching (such as zooming, border highlighting, and movement animation). In related technologies, the focus management of scrolling views often adopts an "event-driven" model: when the user scrolls and the position of the subview changes, the system automatically calculates the target subview and the cursor position, and triggers a focus animation. For example, when the cursor pointing to the remote control points to a certain view, the view will receive a hover event. Since the view detects the hover event, the view can perform a focus adjustment operation (i.e., requestFocus()). At this time, the focus state of the view is marked as the focus-occupied state (i.e., state_focused="true"), and the view is controlled to present the focus style corresponding to the focus-occupied state. The focus style can be any one of the following methods on the basis of the default style: making the focused view larger, highlighting the border, adding a shadow, and filling the view with color.
[0032] In some embodiments, when a cursor pointing to a remote control enters a subview contained in a scrolling view... Figure 1 In the middle of the time, such as Figure 13 As shown, subview Figure 1 It will receive hover events, and then, the child view Figure 1 It will display the focus style corresponding to the focus occupancy state; when the cursor pointing at the remote control moves from the sub-view... Figure 1 Move to the child view contained in the scroll view Figure 2 In the middle of the time, such as Figure 14 As shown, subview Figure 2 It will receive hover events, and then, the child view Figure 2The focus style corresponding to the focus state will be displayed. However, during rapid scrolling of the scroll view, the user's rapid swiping on the touch area will cause the subviews in the scroll view to move rapidly on the screen. This means that before the focus style of the first subview is fully rendered, the focus has already moved to the next subview, resulting in visual ghosting—the incomplete frame of the previous animation overlaps with the initial frame of the new animation, causing a sudden change in the image; or abrupt changes in scaling or border highlighting will disrupt the continuity of the animation, ultimately affecting the smoothness of the user experience. Furthermore, rapid scrolling will trigger high-frequency focus migration, causing the animation engine and rendering resources to idle efficiently. Because the focus coordinates change rapidly with the scroll position, the animation engine needs to repeatedly interrupt the previous animation (such as canceling incomplete scaling tasks) and restart the new animation (such as recalculating the initial state of the target view), forming an "interrupt-restart" loop, which significantly increases CPU computing overhead and increases the overall system response latency.
[0033] To solve the aforementioned technical problems, it is necessary to ensure that during the inertial scrolling process, each subview does not switch back to its default display style before the focus is fully displayed. This requires ensuring that the display style of each subview pointed to by the cursor remains at its default level during the scrolling process. Therefore, it is necessary to monitor the scrolling state of the scroll view. Generally, the scroll view uses three states to represent a completed scrolling process. Specifically, a listener is registered when a scrolling event occurs to monitor the real-time movement state of the scroll view. The first stage is when the scroll view is stationary, denoted as SCROLL_STATE_IDLE; the second stage is when the scroll view is in a dragging or active scrolling state, denoted as SCROLL_STATE_DRAGGING, which corresponds to the user's touch swipe pointing towards the remote control's touch area; the third stage is when the scroll view is in an inertial scrolling stage, denoted as SCROLL_STATE_SETTLING, which corresponds to the inertial scrolling of the control after the user's finger has left the touch area. Furthermore, when the scrolling stops after sliding a certain distance due to inertia, the scroll view eventually switches back to a static state, returning to the SCROLL_STATE_IDLE flag.
[0034] In some embodiments, dragging and inertial scrolling can be performed cyclically during continuous user swipes, eventually stopping the scrolling view and switching back to a stationary state. To ensure that subviews do not revert to their default display style before fully focusing during inertial scrolling, the focus response strategy can be dynamically switched based on the real-time motion state of the list view (stationary / drag / inertial scrolling): When the scrolling view is stationary or in a drag state, the focus switching response logic is executed; when switching from drag to inertial scrolling, the focus switching blocking logic is executed; when the scrolling view is in an inertial scrolling state, the focus switching blocking logic is executed; and when the scrolling view returns to a stationary state, the focus switching response logic is reactivated. Specifically, any of the following methods can be used to ensure that subviews maintain their default styles during inertial scrolling: (1) Intercept the hover event of the subview in the focus switching response logic: When the scroll view ends the drag and slide and switches to inertial scrolling, intercept the hover event of the subview so that the subview will not respond to the cursor hover event after the cursor enters the subview, so that the focus state of the subview will not be adjusted from the default state to the focus occupied state.
[0035] (2) Dynamically modify the focus response property of the scroll view: When the scroll view ends the drag and slide and switches to inertial sliding, set the focus property of the scroll view to prevent the child view from getting focus, so that the scroll view, as the parent view of the child view, can focus in touch mode and actively request focus to avoid the child view getting focus, or set the focus property of at least one child view to disable focus so that at least one child view remains in the default state and at least one child view continues to display the no focus style.
[0036] (3) Focus Delay Response Mechanism Based on Dwell Duration Threshold: When the scrolling view ends dragging and switches to inertial scrolling, if the cursor enters the subview, a timer is started. If the timer duration does not reach the preset duration threshold, the subview does not perform the steps of view focusing or style change; if the timer duration reaches the preset duration threshold and the cursor remains in the subview, the focus state of the subview is adjusted from the default state to the focus-occupied state, and the focus style of the subview is controlled. This method avoids triggering focus switching due to short dwell times during inertial scrolling by delaying the response. It does not intercept events or modify the view's focus attribute, but sets a waiting period, and only performs focus switching when the continuous dwell condition is met.
[0037] Regarding the first solution described above, some embodiments of this application provide a display device, including a display and a controller. The display is configured to: display a user interface, on which a scroll view and at least one corresponding sub-view are displayed; the user interface also has a cursor, the position of which is determined by the position pointed to by a remote control in three-dimensional space; The controller, connected to the display, is configured to: determine the scrolling status of the scrolling view in response to a touch swipe event from the remote control; while the scrolling view is being dragged and swiped, control the passing of hover events for subviews to the corresponding subviews, so that the first subview where the cursor is hovering responds to the corresponding hover event and adjusts the focus state of the first subview from the default state to the focus-occupied state; when the scrolling view ends dragging and swiping and switches to inertial scrolling, intercept hover events for subviews so that the second subview where the cursor is hovering no longer responds to the corresponding hover event; wherein, subviews in the default state display a no-focus style; subviews in the focus-occupied state display a focus style.
[0038] It should be noted that when scrolling through the view, since the user is dragging the scroll list using the remote control, to ensure the user can clearly see the currently selected subview, the hover event for the subview is passed to the corresponding subview. When the cursor enters and hovers over a subview, that subview is designated as the first subview, and a hover event is sent to it. This causes the first subview to respond to the hover event, adjusting its focus state from the default state to the focused state, and controlling its display style to show the focus style of the focused state. Here, the first subview refers to the view where the cursor is hovering while scrolling through the view.
[0039] To further explain, in order to effectively prevent subviews from switching back to their default display style before fully displaying their focus style during rapid scrolling of the scroll view, it is necessary to ensure that the display style of each second subview pointed to by the cursor remains at its default position during scrolling. Therefore, when the scroll view ends its drag-and-drop operation and switches to inertial scrolling, hover events for the second subviews can be intercepted. This ensures that the second subviews do not receive hover events, thus preventing them from entering a focus-occupied state, thereby maintaining their default display style. Here, the second subview refers to the view where the cursor hovers after the scroll view ends its drag-and-drop operation and switches to inertial scrolling. When the scroll view ends its drag-and-drop operation and switches to inertial scrolling, its state can be determined to be SCROLL_STATE_SETTLING, meaning that scrolling has ended but is still fine-tuning to the final position.
[0040] To further explain, in order to ensure that some embodiments of this application only intercept hover events for subviews during the rapid scrolling process when the scrolling view ends dragging and switches to inertial scrolling, and without affecting the normal focus state change of the subview in other states, this application will, after receiving a touch event from the remote control, pre-obtain the event source of the touch event and determine the view state of the scrolling view; then, determine whether the event source of the touch event is pointing to the remote control (i.e., determine whether the touch event is a touch swipe event, such as motionEvent), and whether the subview has ended dragging and switched to inertial scrolling. Then, if it is determined that the event source of the touch event is pointing to the remote control (i.e., determine that the touch event is a touch swipe event), and the scrolling view has ended dragging and switched to inertial scrolling, then the operation of intercepting hover events for subviews is performed. The hover events include the HOVER_ENTER, HOVER_MOVE, and HOVER_EXIT events. When the cursor enters a subview, the subview will receive the HOVER_ENTER event; when the cursor moves out of the subview, the subview will receive the HOVER_MOVE event; and when the cursor leaves the subview, the subview will receive the HOVER_EXIT event.
[0041] In some embodiments of this application, the specific process of generating a touch event includes: when a user touches the touch area on the remote control, the capacitance change is captured by the touchscreen driver and sent to the display device as a data packet. This data packet is a custom data packet containing a header that indicates whether the data packet is a touch event. In some embodiments, if a HOVER_ENTER event is received first, followed by a HOVER_EXIT event, the cursor moves out of the subview. At this time, the cursor's hover position coordinates are reset, that is, lastHoverX (the x-coordinate of the last hover position) and lastHoverY (the y-coordinate of the last hover position) are reset to their initial values, and "no valid hover coordinates" is marked. For non-HOVER_EXIT events (such as HOVER_ENTER and HOVER_MOVE events), lastHoverX and lastHoverY are updated to the coordinates of the current cursor position.
[0042] In summary, when the display device of some embodiments of this application receives a touch swipe event from the remote control for a scrolling view, it first determines the scrolling status of the scrolling view. While the scrolling view is being dragged and swiped, to ensure the user can intuitively observe the subview selected within the scrolling view, a hover event for the subview is transmitted to the corresponding subview. This causes the first subview where the cursor is hovering to respond to the corresponding hover event, adjusting its focus state from the default state to the focus-occupied state. Furthermore, when the scrolling view ends its dragging and switches to inertial scrolling, it is determined that the user is performing inertial scrolling by pointing at the remote control. Therefore, to ensure the scrolling view... To ensure smooth animation between subviews in the diagram, hover events for subviews are intercepted. This prevents the subview from changing its focus state from default to focused state when the cursor enters it, as it hasn't received a hover event. Subviews are child views of the scroll view. This prevents interruptions during scrolling due to excessive cursor movement, ensuring consistent animation and maintaining a smooth user experience.
[0043] In some embodiments, after the controller performs the interception of hover events for a subview, it may further include: when the scroll view ends its inertial scrolling and switches to a stationary state, no longer intercepting hover events for the subview; and adjusting the focus state of the target subview where the cursor is currently hovering from the default state to the focus-occupied state.
[0044] It should be noted that if the scroll view ends its inertial scrolling and switches to a stationary state, it means that the scroll view will no longer scroll, and the user needs to select the desired target subview from the subviews contained in the scroll view. Therefore, it is not necessary to intercept the hover events of the subviews. Further explanation: when it is necessary to determine the target subview, the cursor coordinates can be obtained in advance. Then, based on the cursor coordinates, it can be verified whether the cursor coordinates are within the view coordinate range of each subview. If the cursor coordinates are within the view coordinate range of a certain subview, then the subview containing the cursor is taken as the target subview. The view coordinate range can be determined by the coordinates of at least three corner points of the subview.
[0045] In some embodiments of this application, when it is necessary to adjust the focus state of the target subview from the default state to the focus-occupied state, since the cursor position has not moved again, no new hover event will be generated if the previous hover event is intercepted. In order to ensure that the target subview can smoothly enter the focus-occupied state when the view state of the scroll view is stationary, a hover event is simulated and sent to the target subview so that the focus state of the target subview is adjusted from the default state to the focus-occupied state.
[0046] In summary, this application, by no longer intercepting hover events for subviews when the scrolling view ends its inertial scrolling and switches to a stationary state, enables the selection of the target subview containing the cursor from the subviews based on the cursor coordinates. Subsequently, the focus state of the target subview is adjusted from the default state to the focus-occupied state, so that the focus style is displayed on the target subview. This ensures that the target subview can be successfully focused after the view state of the scrolling view is adjusted to a stationary state.
[0047] In some embodiments, when the controller intercepts hover events for a subview after the scroll view ends dragging and switches to inertial scrolling, it may include: setting the hover intervention parameter to a first parameter value that indicates the need to intercept hover events when the scroll view ends dragging and switches to inertial scrolling; wherein, the hover intervention parameter may be a needBlockHoverEvent parameter, and the specific parameter value that indicates the need to intercept hover events may be set or adjusted according to actual conditions and needs. The value of the first parameter value is not limited here. In some embodiments, the value of the first parameter value may be true.
[0048] In some embodiments, the hover intervention parameter is designed to flexibly control the triggering logic of hover events. Its specific naming and value rules are not bound to native Android system parameters, but can be customized according to actual business scenario requirements. For example, this parameter can be named needBlockHoverEvent, using a boolean value (such as true / false) to represent whether hover events need to be intercepted; however, this naming is only an example, and in actual development, other parameter forms (such as string or enumeration type parameters like blockHover, interceptHoverFlag) can be used to achieve the same functionality. Therefore, the form and value of the hover intervention parameter are not limited to a specific platform or native implementation; its design must be centered on adapting to the functional requirements of actual scenarios, ensuring the scalability and configurability of the event intervention logic.
[0049] When a cursor hover event is detected during inertial scrolling, the event category parameter is set to the second parameter value representing the hover event. In some embodiments of this application, the event category parameter can be the isHoverEvent parameter, used to determine whether the previous input event was a hover event; therefore, when the event category parameter is the second parameter value, it indicates that the previous input event was a hover event. The specific value of the second parameter representing the hover event can be set or adjusted according to actual conditions and needs, and the value of the second parameter is not limited here. In some embodiments, the value of the second parameter can be true. Therefore, when the hover intervention parameter is the first parameter value and the event category parameter is the second parameter value, hover events targeting subviews are intercepted.
[0050] In some embodiments, when the controller intercepts hover events targeting child views with the hover intervention parameter set to a first parameter value and the event category parameter set to a second parameter value, the following may be included: When the needBlockHoverEvent parameter is the first parameter value and the isHoverEvent parameter is the second parameter value, the intercept hover parameter of the scroll view is set to a third parameter value representing the hover event interception operation; when the intercept hover parameter is the third parameter value, the scroll view is prohibited from distributing the corresponding child view's hover event to its corresponding child view, thereby intercepting the hover event targeting the corresponding child view. The intercept hover parameter can be onInterceptHoverEvent, and the specific value of the third parameter representing the hover event interception operation can be set or adjusted according to actual conditions and needs. The value of the third parameter is not limited here, and the form and value of the hover intervention parameter are not limited to a specific platform or native implementation. In some embodiments, onInterceptHoverEvent is a callback method of AndroidViewGroup used to intercept hover events targeting children. The corresponding third parameter value (i.e. the return value) includes true and false; where true indicates that the current ViewGroup intercepts the event and the child views will not receive the hover event; false indicates that the hover event is passed to the child views and handled by the child views.
[0051] In some embodiments of this application, the event category parameter can also be an isInTouchMode (whether in touch mode) parameter, used to determine whether the current time is in touch mode. Therefore, when the event category parameter is set to the second parameter value, it indicates that the current time is in touch mode. Specifically, when the controller intercepts hover events for subviews when the hover intervention parameter is the first parameter value and the event category parameter is the second parameter value, the following can be included: when the needBlockHoverEvent parameter is the first parameter value and the isInTouchMode parameter is the second parameter value, the intercept hover parameter of the scroll view is set to a third parameter value that indicates the execution of the hover event interception operation; when the intercept hover parameter is the third parameter value, the scroll view is prohibited from distributing the corresponding subview's hover event to its corresponding subview, so as to intercept the hover event for the corresponding subview.
[0052] In summary, some embodiments of this application implement hover event interception operations on subviews through hover intervention parameters, event category parameters, and hover interception parameters, thereby intercepting hover events targeting subviews so that the second subview hovered by the cursor no longer responds to the corresponding hover event.
[0053] In some embodiments, when the controller determines the scrolling state of the scrolling view in response to a touch swipe event from the remote control, it may include: acquiring a scrolling state message of the scrolling view in response to the touch swipe event from the remote control; and determining the scrolling state of the scrolling view based on the message type of the latest acquired scrolling state message. Further, when the controller determines the scrolling state of the scrolling view based on the message type of the latest acquired scrolling state message, it may include the following: if the latest acquired scrolling state message is a drag-and-slide message, determining that the scrolling view is in a drag-and-slide state; if the latest acquired scrolling state message is an inertial scrolling message, determining that the scrolling view has ended drag-and-slide and is in an inertial scrolling state; and if the latest acquired scrolling state message is a stationary message, determining that the scrolling view has ended inertial scrolling and is stationary.
[0054] In summary, by determining whether a scroll view's view state is in a scrolling state, we can determine whether the scroll view is in a scrolling state. This provides a condition for deciding whether to intercept hover events for subviews, ensuring the smooth progress of subsequent processes.
[0055] In some embodiments, such as Figure 15 As shown, the user interface also includes an information display view. The controller can also perform the following actions: when the first subview is in focus, displaying an overview of the view content corresponding to the first subview in the information display view; when the scrolling view ends dragging and switches to inertial scrolling, maintaining the view content overview of the first subview at the time of ending dragging and scrolling in the information display view, and no longer displaying the view content overview of the second subview. The information display view is used to display the view content overview corresponding to the subview; the view content overview can be file information of the file corresponding to the subview (e.g., at least one of file creation time, file size, view resolution, etc.), or media information of the media data corresponding to the subview (e.g., at least one of music information corresponding to music media, video information corresponding to video media, etc.). Further, when the scrolling view ends inertial scrolling and switches to a stationary state, displaying the view content overview of the target subview in the information display view.
[0056] In some embodiments of this application, information display verification can be performed on each subview based on information display conditions. If a verified subview to be displayed exists among the subviews, the view information of the subview to be displayed is displayed in the information display view. The information display conditions include at least one of the subview's focus state being in a focus-occupied state and the subview's display focus style. When it is determined that a subview's focus state is in a focus-occupied state and / or its display focus style is correct, that subview is designated as the subview to be displayed; subsequently, the view information of the subview to be displayed is displayed in the information display view. Furthermore, during the interception of hover events targeting a subview, since there is no subview with a focus state in a focus-occupied state and / or a display focus style, there is no subview to be displayed among the subviews, and the display content in the information display view is determined to be empty.
[0057] In some embodiments, if the cursor moves to a subview in the scroll view, but that subview is not the one to be displayed, the information display view is empty, specifically as follows: Figure 15 As shown, if the cursor moves to the target subview in the scroll view, and the target subview is the subview to be displayed, the information display view shows an overview of the view content of the subview to be displayed. The information display view is as follows: Figure 16 As shown.
[0058] In summary, by setting information display conditions, it is possible to select the subviews that need to be displayed for information within the subviews, and only display view information on the subviews to be displayed, without displaying information on all subviews that the cursor hovers over, thus reducing resource consumption during the information display process.
[0059] In some embodiments, such as Figure 17 As shown, this application also provides a view control method, which is applied to a controller in a display device, and the method includes: S1701, in response to a touch swipe event of the remote control for the scrolling view, determines the scrolling status of the scrolling view.
[0060] S1702, when the scroll view is being dragged and slid, control the hover event for the subview to be passed to the corresponding subview, so that the first subview where the cursor is hovering responds to the corresponding hover event and adjusts the focus state of the first subview from the default state to the focus occupied state.
[0061] S1703, when the scroll view ends the drag and slide and switches to inertial scrolling, intercept the hover event for the subview so that the second subview where the cursor is hovering no longer responds to the corresponding hover event.
[0062] In the default state, the subview displays a no-focus style; when the focus is occupied, the subview displays a focus style.
[0063] In summary, when the display device of some embodiments of this application receives a touch swipe event from the remote control for a scrolling view, it first determines the scrolling status of the scrolling view. While the scrolling view is being dragged and swiped, to ensure the user can intuitively observe the subview selected within the scrolling view, a hover event for the subview is transmitted to the corresponding subview. This causes the first subview where the cursor is hovering to respond to the corresponding hover event, adjusting its focus state from the default state to the focus-occupied state. Furthermore, when the scrolling view ends its dragging and switches to inertial scrolling, it is determined that the user is performing inertial scrolling by pointing at the remote control. Therefore, to ensure the scrolling view... To ensure smooth animation between subviews in the diagram, hover events for subviews are intercepted. This prevents the subview from changing its focus state from default to focused state when the cursor enters it, as it hasn't received a hover event. Subviews are child views of the scroll view. This prevents interruptions during scrolling due to excessive cursor movement, ensuring consistent animation and maintaining a smooth user experience.
[0064] Some embodiments of this application also provide a view control device for implementing the view control method described above. The solution provided by this device is similar to the implementation described in the above method; therefore, specific limitations in one or more view control device embodiments provided below can be found in the limitations of the view control method described above, and will not be repeated here.
[0065] In some embodiments, such as Figure 18As shown, a view control device is provided, including: a determining module 10, a control module 20, and an intercepting module 30, wherein: the determining module 10 is used to determine the scrolling state of the scrolling view in response to a touch swipe event of the remote control on the scrolling view. The control module 20 is used to control the transmission of hover events for subviews to the corresponding subviews when the scrolling view is dragged and swiped, so that the first subview where the cursor is hovered responds to the corresponding hover event and adjusts the focus state of the first subview from the default state to the focus-occupied state. The intercepting module 30 is used to intercept hover events for subviews when the scrolling view ends dragging and swiping and switches to inertial scrolling, so that the second subview where the cursor is hovered no longer responds to the corresponding hover event; wherein, the subview in the default state displays a no-focus style; the subview in the focus-occupied state displays a focus style.
[0066] In summary, when the display device of some embodiments of this application receives a touch swipe event from the remote control for a scrolling view, it first determines the scrolling status of the scrolling view. While the scrolling view is being dragged and swiped, to ensure the user can intuitively observe the subview selected within the scrolling view, a hover event for the subview is transmitted to the corresponding subview. This causes the first subview where the cursor is hovering to respond to the corresponding hover event, adjusting its focus state from the default state to the focus-occupied state. Furthermore, when the scrolling view ends its dragging and switches to inertial scrolling, it is determined that the user is performing inertial scrolling by pointing at the remote control. Therefore, to ensure the scrolling view... To ensure smooth animation between subviews in the diagram, hover events for subviews are intercepted. This prevents the subview from changing its focus state from default to focused state when the cursor enters it, as it hasn't received a hover event. Subviews are child views of the scroll view. This prevents interruptions during scrolling due to excessive cursor movement, ensuring consistent animation and maintaining a smooth user experience.
[0067] Each module in the aforementioned view control device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0068] Regarding the second solution mentioned above, some embodiments of this application provide a display device, including a display and a controller. The display is configured to: display a user interface, on which a scrolling view and at least one corresponding subview are displayed; the user interface also has a cursor, the position of which is determined by the position pointed to by a remote control in three-dimensional space; the controller, connected to the display, is configured to: determine the scrolling status of the scrolling view in response to a touch swipe event from the remote control; when the scrolling view is in a drag-and-slide state, adjust the focus state of the first subview where the cursor is hovering from a default state to a focus-occupied state, so as to display a focus style in the first subview; when the scrolling view ends the drag-and-slide state and switches to inertial scrolling, restrict at least one subview from gaining focus, and while restricting at least one subview from gaining focus, control at least one subview to maintain a default state, so as to continuously display a focusless style in at least one subview. It should be noted that when scrolling through the view, since the user is dragging the scroll list using the remote control, to ensure the user can clearly see the currently selected subview, the hover event for the subview is passed to the corresponding subview. When the cursor enters and hovers over a subview, that subview is designated as the first subview, and a hover event is sent to it. This causes the first subview to respond to the hover event, adjusting its focus state from the default state to the focused state, and controlling its display style to show the focus style of the focused state. Here, the first subview refers to the view where the cursor is hovering while scrolling through the view. To further explain, in order to effectively prevent subviews from switching back to a non-focus style before fully displaying their focus style during rapid scrolling of the scroll view, it is necessary to ensure that the display style of each subview pointed to by the cursor remains non-focused during scrolling. Therefore, when the scroll view ends dragging and switches to inertial scrolling, at least one subview can be restricted from gaining focus. This way, when the cursor enters a subview, since the focus attribute is disabled, the subview will not adjust its focus state from the default state to the focus-occupied state after receiving a hover event.
[0069] In some embodiments of this application, to prevent a child view from gaining focus when the scroll view ends dragging and switches to inertial scrolling, the requestFocus (request focus) function for the child view can be intercepted, so that the child view cannot gain focus; wherein, requestFocus will trigger the scroll view's requestChildFocus (request child view focus); requestChildFocus can adjust the focus state of the child view from the default state to the focus-occupied state.
[0070] In some embodiments of this application, in order to prevent a subview from gaining focus when the scrolling view ends dragging and switches to inertial scrolling, the corresponding requestChildFocus of the subview can be adjusted so that requestChildFocus cannot change the focus state of the subview from the default state to the focus-occupied state.
[0071] To further explain, the behavior parameters of the scroll view's child views can be adjusted to restrict at least one child view from receiving focus. These parameters can be represented by the `descendantFocusability` parameter, which can have three values: `beforeDescendants`, `afterDescendants`, and `blocksDescendants`. Specifically, `beforeDescendants` indicates that the scroll view receives focus before the child view and prioritizes displaying the focus style; `afterDescendants` indicates that the scroll view receives focus after the child view and prioritizes displaying the focus style for at least one child view (this is usually the default value); and `blocksDescendants` indicates that the scroll view prevents the child view from receiving focus, allowing the scroll view to receive focus and display the focus style. Therefore, by setting the value of the scroll view's child view behavior parameter to `blocksDescendants`, the goal of restricting at least one child view from receiving focus can be achieved.
[0072] In summary, when the display device of some embodiments of this application receives a touch swipe event from the remote control for a scrolling view, it first determines the scrolling status of the scrolling view. While the scrolling view is being dragged and swiped, to ensure the user can intuitively observe the subview selected within the scrolling view, a hover event for the subview is transmitted to the corresponding subview. This causes the first subview where the cursor is hovering to respond to the corresponding hover event, adjusting the focus state of the first subview from the default state to the focus-occupied state, thus displaying the focus style in the first subview. When the scrolling view ends its dragging and swiping and switches to inertial scrolling, it is determined that the user has touched the view by pointing... When the remote control is used to scroll the view inertial motion, to ensure that the animation effects of the subviews in the scroll view are not discontinuous, at least one subview is restricted from receiving focus. This prevents the subview from changing its focus state from the default state to the focused state when the cursor enters it. This ensures that during the inertial scrolling of the view, the focus style of different subviews will not be interrupted due to the cursor moving too fast, thus guaranteeing the continuity of the subview animation effects and ensuring that the user's viewing experience is not affected by abnormal animation effects, thereby guaranteeing the user experience.
[0073] In some embodiments, when the controller restricts at least one subview from gaining focus, it may include the following: setting the value of the focus attribute of at least one subview to a first preset value that indicates disabling focus. The specific value of the first preset value can be set or adjusted according to actual circumstances, and is not limited here. In some embodiments, the first preset value can be "false" or "0". It should be noted that the focus attribute of at least one subview can be a focusable attribute, where the value of the focusable attribute can include a first preset value indicating disabling focus and a third preset value indicating allowing focus.
[0074] In some embodiments of this application, if the first preset value is represented as false, and at least one subview is restricted from gaining focus, the focusable attribute of the subview can be represented as: focusable="false". Specifically, when the cursor moves into the subview, although the subview receives a hover event, it will not adjust its focus state from the default state to the focus-occupied state after receiving the hover event. In some embodiments of this application, when the scrolling view ends its inertial scrolling and switches to a stationary state, the value of the focusable attribute of at least one subview is set to a third preset value representing that focus is allowed; the focus state of the target subview where the cursor is currently hovering is adjusted from the default state to the focus-occupied state, so as to display the focus style in the target subview. Here, since the focusable attribute of the subview is set to focusable, the focusable attribute of the subview can be represented as: focusable="true".
[0075] In some embodiments, when the controller restricts at least one subview from gaining focus, it may further include the following: setting the value of the subview behavior parameter of the scroll view to a second preset value that indicates preventing the subview from gaining focus. The second preset value is blocksDescendants, indicating that the scroll view is preventing the subview from gaining focus. In some embodiments of this application, since at least one subview is restricted from gaining focus, the subview behavior parameter of the scroll view is adjusted from the default value afterDescendants to the second preset value blocksDescendants; this prevents the scroll view from gaining focus on at least one subview, thereby controlling at least one subview to maintain its default state and continuously display a focus-free style in at least one subview.
[0076] In some embodiments of this application, when the scroll view ends its inertial scrolling and switches to a stationary state, the control subview behavior parameter of the scroll view is adjusted from the second preset value `blocksDescendants` to `afterDescendants`, which represents the scroll view acquiring focus after the subview. This ensures that the focus state of the target subview is adjusted from the default state to the focus-occupied state, so that the focus style is displayed in the target subview. Furthermore, when the controller adjusts the focus state of the target subview where the cursor is currently hovering from the default state to the focus-occupied state, it may also include the following: sending a simulated hover event to the target subview to adjust its focus state from the default state to the focus-occupied state.
[0077] In summary, in some embodiments of this application, when the scrolling view ends dragging and switches to inertial scrolling, to prevent discontinuous animation effects in the subviews of the scrolling view, the focus attribute of the subviews is set to disabled focus. This ensures that when the cursor enters a subview, because the focus attribute is disabled, the subview will not change its focus state from the default state to the focused state after receiving a hover event. This guarantees that during inertial scrolling, the focus style display of different subviews will not be interrupted due to excessively fast cursor movement, ensuring the continuity of the subview animation effects and preventing any impact on the user's viewing experience due to abnormal animation display.
[0078] Regarding the aforementioned third solution, some embodiments of this application provide a display device, including a display and a controller. The display is configured to: display a user interface, on which a scrolling view and at least one corresponding subview are displayed; the user interface also has a cursor, the position of which is determined by the position pointed to by a remote control in three-dimensional space; the controller, connected to the display, is configured to: determine the scrolling status of the scrolling view in response to a touch swipe event from the remote control; when the scrolling view is in a drag-and-slide state, adjust the focus state of the first subview where the cursor is hovering from a default state to a focus-occupied state, so as to display a focus style in the first subview; when the scrolling view ends the drag-and-slide state and switches to inertial scrolling, trigger a timer, and if the timer's duration does not reach a preset duration threshold, control at least one subview to maintain a focus-free display style.
[0079] It should be noted that since hover events (i.e., hover time) include HOVER_ENTER, HOVER_MOVE, and HOVER_EXIT events, to ensure that when the scroll view ends dragging and switches to inertial scrolling, and to effectively prevent subviews from switching back to non-focused styles before the focus style is fully displayed, a timer can be triggered upon receiving a HOVER_ENTER event. If the timer duration has not reached a preset threshold, at least one subview will be kept in the non-focused style. If a HOVER_EXIT event is received before the timer duration reaches the threshold, the timer will be canceled.
[0080] In some embodiments of this application, when the second subview is HOVER_ENTER, a timer is started. If the timer duration reaches the duration threshold, the logic for requesting focus or style change is executed normally. If the second subview receives HOVER_EXIT before the timer duration reaches the duration threshold, the timer is canceled, and the logic for requesting focus or style change will not be triggered.
[0081] To further explain, when the controller executes the action of keeping at least one subview in a focusless display style, it may include the following: preventing the focus state of the second subview where the cursor is hovering from being adjusted from the default state to the focus-occupied state; or, intercepting hover events for the subview so that the second subview no longer responds to the corresponding hover events. Specifically, preventing the focus state of the second subview where the cursor is hovering from being adjusted from the default state to the focus-occupied state means that the second subview is prohibited from executing logic that requests focus or style changes, thus achieving the goal of keeping at least one subview in a focusless display style. Intercepting hover events for the subview means that when the scroll view ends dragging and switches to inertial scrolling, the hover event for the second subview can be intercepted, ensuring that the second subview does not receive hover events, and thus preventing the focus state of the second subview from entering the focus-occupied state, thereby achieving the goal of keeping the display style of the second subview in its default display style.
[0082] In some embodiments of this application, after the controller executes the control to keep at least one subview displaying a focusless style, it may further include the following: disabling a timer when the scrolling view ends its inertial scrolling and switches to a stationary state; and adjusting the focus state of the target subview where the cursor is currently hovering from the default state to the focus-occupied state, so as to display the focus style in the target subview. Wherein, when the controller executes the action of adjusting the focus state of the target subview where the cursor is currently hovering from the default state to the focus-occupied state, it may include: sending a simulated hover event to the target subview to adjust the focus state of the target subview from the default state to the focus-occupied state.
[0083] In summary, when the display device of some embodiments of this application receives a touch swipe event from the remote control for a scrolling view, it first determines the scrolling status of the scrolling view. While the scrolling view is being dragged and swiped, to ensure the user can intuitively observe the subview selected within the scrolling view, a hover event for the subview is transmitted to the corresponding subview. This causes the first subview where the cursor is hovering to respond to the corresponding hover event, adjusting the focus state of the first subview from the default state to the focus-occupied state, thus displaying the focus style in the first subview. When the scrolling view ends its dragging and swiping and switches to inertial scrolling, it is determined that this is a user touch event. When scrolling the view using the remote control, a timer is triggered to ensure smooth animation between subviews. If the timer's duration hasn't reached a preset threshold, at least one subview remains in a focus-free state. This prevents interruptions in the focus display of different subviews due to excessive cursor movement during scrolling, ensuring consistent animation and preventing any negative impact on the user experience.
[0084] In some embodiments, such as Figure 19 As shown, some embodiments of this application also provide a view control method, which is applied to a controller in a display device, and the method includes: S1901, in response to a touch swipe event from the remote control, determines the scrolling status of the scroll view.
[0085] S1902, when the scroll view is in a drag-and-drop state, adjust the focus state of the first subview where the cursor is hovering from the default state to the focus-occupied state, so as to display the focus style in the first subview.
[0086] S1903, when the scroll view ends the drag and slide and switches to inertial scrolling, restrict at least one subview from getting focus, and when at least one subview is restricted from getting focus, control at least one subview to maintain the default state so that the no-focus style is continuously displayed in at least one subview.
[0087] In some embodiments of the view control method provided in this application, when the display device receives a touch swipe event from a remote control for a scrolling view, it first determines the scrolling status of the scrolling view. While the scrolling view is being dragged and swiped, to ensure the user can intuitively observe the subview selected within the scrolling view, a hover event for the subview is transmitted to the corresponding subview. This causes the first subview where the cursor is hovering to respond to the corresponding hover event, adjusting the focus state of the first subview from a default state to a focus-occupied state, thus displaying the focus style in the first subview. When the scrolling view ends its dragging and swiping and switches to inertial scrolling, it is determined that this is a user action. When scrolling the view using the remote control, to prevent discontinuous animation effects among the subviews, at least one subview is restricted from receiving focus. This ensures that when the cursor enters a subview, that subview will not change its focus state from the default state to the focused state. This prevents interruptions in the focus display of different subviews due to excessively fast cursor movement during scrolling, thus guaranteeing the continuity of subview animation effects and ensuring a smooth user experience.
[0088] In some embodiments, such as Figure 20 As shown, this application also provides a view control method, which is applied to a controller in a display device, and the method includes: S2001, in response to a touch swipe event from the remote control, determines the scrolling status of the scroll view.
[0089] S2002, when the scroll view is in a drag-and-drop state, adjust the focus state of the first subview where the cursor is hovering from the default state to the focus-occupied state, so as to display the focus style in the first subview.
[0090] S2003, when the scroll view ends the drag and slide and switches to inertial scrolling, a timer is triggered. If the timer duration does not reach the preset duration threshold, at least one subview is controlled to maintain the display without focus style.
[0091] In some embodiments of the view control method provided in this application, when the display device receives a touch swipe event from a remote control for a scrolling view, it first determines the scrolling status of the scrolling view. While the scrolling view is being dragged and swiped, to ensure the user can intuitively observe the subview selected within the scrolling view, a hover event for the subview is transmitted to the corresponding subview. This causes the first subview where the cursor is hovering to respond to the corresponding hover event, adjusting the focus state of the first subview from a default state to a focus-occupied state, thus displaying the focus style in the first subview. When the scrolling view ends its dragging and swiping and switches to inertial scrolling, this is considered to be... When a user scrolls the view using the remote control, a timer is triggered to ensure smooth animation between subviews. If the timer's duration hasn't reached a preset threshold, at least one subview remains in a focus-free state. This prevents interruptions in the focus display of different subviews due to excessive cursor movement during scrolling, ensuring consistent animation and preventing any negative impact on the user experience.
[0092] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification. The above embodiments only illustrate several implementation methods of this application, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make several modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A display device, comprising: The display is configured to display a user interface on which a scroll view and at least one subview corresponding to the scroll view are displayed. The user interface also has a cursor, the position of which is determined by the position pointed to by the remote control in three-dimensional space; The controller, connected to the display, is configured to: In response to a touch swipe event from the remote control, determine the swiping status of the scroll view; When the scroll view is stationary or in a drag-and-swipe state, execute the focus switching response logic; When the scroll view switches from drag-and-slide state to inertial scroll state, or is in inertial scroll state, execute the focus switching blocking logic; When the scroll view switches to a static state, the focus switching response logic is reactivated.
2. The display device according to claim 1, wherein, The controller is configured to execute the focus switching blocking logic by at least one of the following: Intercept hover events for subviews in the focus switching response logic; Dynamically modify the focus response property of the scroll view to prevent the subview from gaining focus, or set the focus property of at least one subview to disable focus; The response to focus switching is delayed based on a dwell time threshold.
3. The display device according to claim 2, wherein, The controller intercepts hover events for subviews in the focus switching response logic, specifically configured as follows: When the scroll view is in a drag-and-slide state, control the hover event for the subview to be passed to the corresponding subview, so that the first subview where the cursor is hovering responds to the corresponding hover event and adjusts the focus state of the first subview from the default state to the focus occupied state. When the scroll view switches from drag-and-scroll state to inertial scroll state, or is in inertial scroll state, the hover event for the subview is intercepted so that the second subview where the cursor is hovering no longer responds to the corresponding hover event. When the scroll view ends its inertial scrolling and switches to a stationary state, hover events for subviews are no longer intercepted, so that the focus state of the target subview where the cursor is currently hovering is adjusted from the default state to the focus-occupied state. The subview in the default state displays a focus-free style; The subview in the focus-occupied state displays a focus style.
4. The display device according to claim 3, wherein, When the scrolling view finishes its inertial scrolling and switches to a stationary state, the controller will no longer intercept hover events for subviews. Specifically, it is configured as follows: Record the cursor's coordinates before intercepting hover events for subviews; After the scrolling view ends its inertial scrolling and switches to a stationary state, a simulated hover event is sent to the target subview corresponding to the cursor position, so that the focus state of the target subview is adjusted from the default state to the focus-occupied state.
5. The display device according to any one of claims 3 or 4, wherein, The controller, when the scrolling view switches from a drag-and-scroll state to an inertial scrolling state, or is in an inertial scrolling state, intercepts hover events for subviews, specifically configured as follows: When the scroll view switches from drag-and-slide state to inertial scroll state, or is in inertial scroll state, the hover intervention parameter is set to the first parameter value that represents the need to intercept hover events. If a hovering event of the cursor is detected during inertial sliding, the event category parameter is set to the second parameter value that characterizes the hovering event; When the hover intervention parameter is the first parameter value and the event category parameter is the second parameter value, hover events for the subview are intercepted.
6. The display device according to claim 5, wherein, When the controller intercepts hover events for a subview when the hover intervention parameter is the first parameter value and the event category parameter is the second parameter value, it is configured to: When the hover intervention parameter is the first parameter value and the event category parameter is the second parameter value, the intercept hover parameter of the scroll view is set to a third parameter value that represents the operation of intercepting the hover event. When the interception hover parameter is the third parameter value, the scroll view is prohibited from distributing the corresponding hover event to its corresponding subview, so as to intercept the hover event for the corresponding subview.
7. The display device according to any one of claims 1, wherein, When the controller executes a response to a touch swipe event from the remote control on the scrolling view and determines the scrolling status, it is configured to: In response to a touch swipe event of the remote control on the scroll view, obtain the swipe state message of the scroll view; The scrolling status of the scroll view is determined based on the message type of the latest obtained scrolling status message; wherein, If the latest obtained sliding status message is a drag-and-slide message, it is determined that the scroll view is in a drag-and-slide state; If the latest obtained sliding status message is an inertial sliding message, it is determined that the scroll view has ended the drag sliding and is in an inertial sliding state; If the latest obtained sliding state message is a stationary message, it is determined that the scrolling view has ended its inertial sliding and is now stationary.
8. The display device according to claim 2, wherein, The user interface also includes an information display view; the controller is further configured to: When the scroll view is dragged and slid, an overview of the view content of the first subview is displayed in the information display view; When the scroll view switches from drag-and-slide state to inertial scroll state, or is in inertial scroll state, the view content overview of the first subview when the drag-and-slide ended is still displayed in the information display view, and the view content overview of the second subview is no longer displayed. When the scrolling view ends its inertial scrolling and switches to a stationary state, an overview of the view content of the target subview is displayed in the information display view.
9. The display device according to claim 2, wherein, The controller dynamically modifies the focus response attribute of the scroll view to prevent the subviews from gaining focus, or sets the focus attribute of at least one subview to disable focus acquisition, specifically configured as follows: When the scroll view is in a static state or a drag-and-swipe state, the focus state of the first subview where the cursor is hovering is adjusted from the default state to the focus-occupied state, so as to display the focus style in the first subview; When the scroll view switches from drag-and-slide state to inertial scroll state, or is in inertial scroll state, the value of the focus attribute of at least one subview is set to a first preset value that indicates that focus is prohibited. Alternatively, the value of the control subview behavior parameter of the scroll view can be set to a second preset value that prevents the subview from gaining focus, so as to limit the focus of the at least one subview, keep the at least one subview in the default state, and continuously display the no-focus style in the at least one subview; When the scrolling view ends its inertial scrolling and switches to a stationary state, the value of the focus attribute of at least one subview is set to a third preset value that represents allowing focus, so as to adjust the focus state of the target subview where the cursor is currently hovering from the default state to the focus-occupied state, and display the focus style in the target subview.
10. The display device according to claim 2, wherein, The controller is specifically configured to execute a response that delays focus switching based on a dwell time threshold as follows: When the scroll view is in a static state or a drag-and-swipe state, the focus state of the first subview where the cursor is hovering is adjusted from the default state to the focus-occupied state, so as to display the focus style in the first subview; When the scroll view switches from drag-and-slide state to inertial scroll state, or is in inertial scroll state, a timer is triggered. If the timer duration does not reach a preset duration threshold, at least one subview is controlled to maintain a focus-free display style. When the scrolling view ends its inertial scrolling and switches to a stationary state, the timer is disabled, and the focus state of the target subview where the cursor is currently hovering is adjusted from the default state to the focus-occupied state, so that the focus style is displayed in the target subview.
11. A view control method applied to a display device, the display device including a display and a controller, the display being configured to: display a user interface, the user interface displaying a scroll view and at least one subview corresponding to the scroll view; The user interface also includes a cursor, the position of which is determined by the position pointed to by the remote control in three-dimensional space; the method includes: In response to a touch swipe event from the remote control, determine the swiping status of the scroll view; When the scroll view is stationary or in a drag-and-swipe state, execute the focus switching response logic; When the scroll view switches from drag-and-slide state to inertial scroll state, or is in inertial scroll state, execute the focus switching blocking logic; When the scroll view switches to a static state, the focus switching response logic is reactivated.