Intelligent Assistant
Chat with our virtual assistant to get answers promptly.
Huawei's tri-fold flagship phone features three interconnected screens that can operate in sync, with the hinges allowing the entire screen assembly to fold into three sections. Compared with a bar phone, a tri-fold phone has the following features:
The main tri-fold phones is the Mate XT series, as shown in the following figure.
Product Name | Effect |
|---|---|
Mate XT series |
|
This topic provides the development guidelines for improving user experience of tri-fold phone apps. For details about the basic common capabilities of multi-device development, see One-Time Development for Multi-Device Deployment.
This topic uses the Mate XTs as an example to describe the screen orientation, screen size, and camera hardware parameters of tri-fold phones.
The following table lists the screen orientation and size parameters of tri-fold phones in single-screen, dual-screen, and triple-screen states.
Screen specifications in single-screen state
Screen Rotation Angle (rotation) | 0 (0°) | 1 (90°) | 2 (180°) | 3 (270°) |
|---|---|---|---|---|
Single-Screen State |
|
|
|
|
Portrait (PORTRAIT) | Landscape (LANDSCAPE) | Inverted portrait (PORTRAIT_INVERTED) | Inverted landscape (LANDSCAPE_INVERTED) | |
Screen ID | 0 | 0 | 0 | 0 |
Resolution (vp) (Rounded down) | 350*776 | 776*350 | 350*776 | 776*350 |
Resolution (px) (Width × Height) | 1008*2232 | 2232*1008 | 1008*2232 | 2232*1008 |
Horizontal and Vertical Breakpoints | sm for horizontal breakpoints and lg for vertical breakpoints | md for horizontal breakpoints and sm for vertical breakpoints | sm for horizontal breakpoints and lg for vertical breakpoints | md for horizontal breakpoints and sm for vertical breakpoints |
Screen specifications in the dual-screen state
Screen Rotation Angle (rotation) | 0 (0°) | 1 (90°) | 2 (180°) | 3 (270°) |
|---|---|---|---|---|
Dual-Screen State |
|
|
|
|
Portrait (PORTRAIT) | Landscape (LANDSCAPE) | Inverted portrait (PORTRAIT_INVERTED) | Inverted landscape (LANDSCAPE_INVERTED) | |
Screen ID | 0 | 0 | 0 | 0 |
Resolution (vp) (Rounded down) | 712*776 | 776*712 | 712*776 | 776*712 |
Resolution (px) (Width × Height) | 2048*2232 | 2232*2048 | 2048*2232 | 2232*2048 |
Horizontal and Vertical Breakpoints | md for horizontal breakpoints and md for vertical breakpoints | md for horizontal breakpoints and md for vertical breakpoints | md for horizontal breakpoints and md for vertical breakpoints | md for horizontal breakpoints and md for vertical breakpoints |
Screen specifications in the triple-screen state
Screen Rotation Angle (rotation) | 0 (0°) | 1 (90°) | 2 (180°) | 3 (270°) |
|---|---|---|---|---|
Triple-Screen State |
|
|
|
|
Inverted landscape (LANDSCAPE_INVERTED) | Portrait (PORTRAIT) | Landscape (LANDSCAPE) | Inverted portrait (PORTRAIT_INVERTED) | |
Screen ID | 0 | 0 | 0 | 0 |
Resolution (vp) (Rounded down) | 1107*776 | 776*1107 | 1107*776 | 776*1107 |
Resolution (px) (Width × Height) | 3184*2232 | 2232*3184 | 3184*2232 | 2232*3184 |
Horizontal and Vertical Breakpoints | lg for horizontal breakpoints and sm for vertical breakpoints | md for horizontal breakpoints and lg for vertical breakpoints | lg for horizontal breakpoints and sm for vertical breakpoints | md for horizontal breakpoints and lg for vertical breakpoints |
The camera has a default camera lens installation angle. When using the camera, you need to consider both the lens angle and the device rotation angle. For details, see Preview Rotation Angle.
Camera hardware information in single-screen state
Screen Rotation Angle (rotation) | 0 (0°) | 1 (90°) | 2 (180°) | 3 (270°) |
|---|---|---|---|---|
Single-Screen State |
|
|
|
|
Rear Camera Lens Angle | 90° | 90° | 90° | 90° |
Preview Stream Rotation Angle of the Rear Camera | 90° | 180° | 270° | 0° |
Front Camera Lens Angle | 270° | 270° | 270° | 270° |
Preview Stream Rotation Angle of the Front Camera | 270° | 0° | 90° | 180° |
Camera hardware information in dual-screen state
Screen Rotation Angle (rotation) | 0 (0°) | 1 (90°) | 2 (180°) | 3 (270°) |
|---|---|---|---|---|
Dual-Screen State |
|
|
|
|
Rear Camera Lens Angle | 90° | 90° | 90° | 90° |
Preview Stream Rotation Angle of the Rear Camera | 90° | 180° | 270° | 0° |
Front Camera Lens Angle | 270° | 270° | 270° | 270° |
Preview Stream Rotation Angle of the Front Camera | 270° | 0° | 90° | 180° |
The front camera is available on a tri-fold phone in dual-screen state. However, due to the restrictions of the device opening and closing angle and user position, the imaging effect or user experience may be unsatisfactory. Therefore, you are not advised to use the front camera in dual-screen state.
Camera hardware information in triple-screen state
Screen Rotation Angle (rotation) | 0 (0°) | 1 (90°) | 2 (180°) | 3 (270°) |
|---|---|---|---|---|
Triple-Screen State |
|
|
|
|
Rear Camera Lens Angle | 90° | 90° | 90° | 90° |
Preview Stream Rotation Angle of the Rear Camera | 90° | 180° | 270° | 0° |
Front Camera Lens Angle | 270° | 270° | 270° | 270° |
Preview Stream Rotation Angle of the Front Camera | 270° | 0° | 90° | 180° |
The tri-fold phone has nine folding states, each with its own unique features. You can think of it as two bi-fold screens combined. Each of the three screens has three folding states (folded, unfolded, and half-folded), resulting in a total of nine folding states (3 × 3 = 9).
The display.getFoldStatus() API can be used to obtain the current folding state of a device. For details about the returned result, see FoldStatus. The display.getFoldDisplayMode() API can be used to obtain the current folding state of a device. For details about the returned result, see FoldDisplayMode. The following table uses the Mate XTs as an example to describe the folded state and attributes of a tri-fold phone.
Effect | ||
|---|---|---|
FOLD_STATUS_EXPANDED | FOLD_DISPLAY_MODE_FULL |
|
FOLD_STATUS_FOLDED | FOLD_DISPLAY_MODE_MAIN |
|
FOLD_STATUS_HALF_FOLDED | FOLD_DISPLAY_MODE_FULL |
|
FOLD_STATUS_EXPANDED_WITH_SECOND_EXPANDED | FOLD_DISPLAY_MODE_FULL |
|
FOLD_STATUS_EXPANDED_WITH_SECOND_HALF_FOLDED | FOLD_DISPLAY_MODE_FULL |
|
FOLD_STATUS_FOLDED_WITH_SECOND_EXPANDED | FOLD_DISPLAY_MODE_MAIN |
|
FOLD_STATUS_FOLDED_WITH_SECOND_HALF_FOLDED | FOLD_DISPLAY_MODE_MAIN |
|
FOLD_STATUS_HALF_FOLDED_WITH_SECOND_EXPANDED | FOLD_DISPLAY_MODE_FULL |
|
FOLD_STATUS_HALF_FOLDED_WITH_SECOND_HALF_FOLDED | FOLD_DISPLAY_MODE_FULL |
|
The dual-screen and triple-screen states of a tri-fold phone provide a wider display area, larger information capacity, and wider operation area. To further improve user experience of a tri-fold phone in dual-screen and triple-screen states, it is recommended that the system's new interaction capabilities be adapted. By integrating new features such as smart reachability, popup sheet, and finger-following sheet, users can perform operations more quickly and efficiently.

Subscribe to the motion.on('holdingHandChanged') event to obtain the hand holding information and change the display position of the component.

When building the UI layout, you can use a conditional expression to determine the display behavior. If the horizontal breakpoint is sm, use a regular centered dialog box. Otherwise, use a popover dialog PopoverDialog to improve the operation efficiency on large-screen devices.
When using bindSheet to bind the sheet transition, set the sheet attribute preferType to SheetType.POPUP. After this attribute is set, the bottom pop-up window is displayed by default for devices whose window width is less than 600 vp, and the popup sheet is automatically displayed for other devices.

A tri-fold phone in dual-screen state can switch to the semi-folded state. In this state, the device can rest steadily on a desktop, enabling a hands-free experience. It is commonly used in scenarios that do not require frequent interaction, such as video calls, video playback, photography, and music listening. The upper and lower screens need to be properly arranged in such a way that the displayed content avoids the crease in the semi-folded state. For details, see Semi-Folded State of Foldable Screens.

Opening-closing continuity means that an app maintains the continuity of page content, task progress, and running status when switching between screen forms and window states. Users can quickly resume their previous operations, ensuring a smooth transition. For example, when a tri-fold device switches between the single-screen, dual-screen, and triple-screen states, the app page content remains unchanged and the status is seamlessly continued, ensuring that the user experience is not affected. For details about the implementation, see Opening-Closing Continuity.
A tri-fold device can be used in single-screen, dual-screen, and triple-screen states. The barFloatingStyle attribute of the HdsTab component is used to implement the floating navigation bar, which can adapt to various form switching scenarios and fully utilize the visible screen area. The transparent frosted material effect can be configured using the SystemMaterialParams parameter to improve the transparency of the UI and adapt to immersive browsing experience. The HdsTabsMiniBar component can be used to extend the mini tab bar, expand multi-dimensional quick entries, and adapt to partition operations in dual-screen and triple-screen states. In addition, the interaction logic is unified in single-screen, dual-screen, and triple-screen states, reducing user switching costs and effectively improving operation efficiency and user experience.

A tri-fold device has three states: single-screen, dual-screen, and triple-screen. To avoid issues such as stretching, cropping, and incorrect display ratio of the video playback image during form switching, the adaptive immersive full-screen playback solution can be used. This solution simplifies UI elements and reduces visual interference, allowing users to focus on the video image and fully utilize the large screen's wide view, thereby effectively improving the viewing experience. For details about the implementation, see Adapting Videos to Different Screen Sizes.

Tri-fold devices mainly use a touchscreen for interactions. Common operations include tap, double-tap, long press, and drag. You can perform functionality adaptation based on these operations. For details, see Interaction Event.
Mate XTs are equipped with styluses, which support seamless connection and low-latency transmission. The styluses are ready to use upon opening the box and can be used for global annotation, quick note-taking, and remote control, providing a smooth and natural writing and interaction experience. The Pen Kit capability provided by the system can help developers flexibly integrate APIs such as handwriting suite, Color picker, and Instant Shape, improving the extensibility and creation efficiency of writing interaction.

In addition to touchscreen interactions, triple-fold devices also support interactions by connecting a keyboard or a mouse. Take the Mate XTs as an example. The adaptation of keyboard and mouse interactions should include:
When an external keyboard is connected to the tablet, the system provides the ESC key event by default. If the app does not listen for the ESC key event, the previous page is displayed. onKeyEvent bubbles up by default. In the callback of onKeyEvent, return true if this event has been processed. This action stops the event from continuing to bubble up and avoids repeated responses from upper layers, thereby preventing the key event from being triggered multiple times.
When users interact with an app indirectly using keyboards connected to tri-fold devices, you are advised to set interactive elements to a focusable state and configure visual effects for focus states to clearly indicate the current focus position and enhance interaction experience. For details about the development solution, see Focus Events.
Generally, tri-fold devices mainly rely on touchscreens for interaction and can be adapted through unified interactions. When external keyboards and mouse devices are connected, the mouse floating effect, keyboard shortcuts, and focus navigation can be adapted to improve the operation experience of multiple input modes.
The multitask view feature is designed to help users efficiently handle multiple tasks. With this feature, users can run multiple apps on the same screen concurrently and quickly switch between them, breaking through the physical limitations of the screen and improving operation efficiency. Take Mate XTs as an example. In its triple -screen landscape state, the device provides a larger display view and stronger information display and content bearing capabilities. The multitask view capability can fully carry out the space advantages of the device's large screen. A maximum of three windows can run concurrently on the same screen, enabling users to browse information, edit content, and communicate for work at the same time. Multiple tasks can be processed synchronously without conflicting with each other, implementing one-stop collaboration of office, entertainment, and daily operations.

Layout Is Normal on Tablets, but Abnormal in the G State of the Tri-Fold Phone
Issue description: The app page is displayed properly on the tablet, but the image is too large, the font is too large, the image is stretched or compressed, or there is blank space on the screen in the tri-fold device in G state.
Possible cause: You use "deviceType === tablet" as the condition for determining the lg breakpoint layout, which adapts only to tablets. As a result, the tri-fold device in G state cannot match the correct layout, causing display exceptions.
Solution: The UX layout should be determined based on the window size and shape, not the physical device type. The same UX layout must be consistent across different devices with the same window size. The tri-fold device in G state should have the same layout as a tablet, the tri-fold device in M state should have the same layout as a bi-fold device in unfolded state, and the tri-fold device in F state should have the same layout as a bar phone. It is recommended that the breakpoint solution be used to replace the device form API to implement a unified UX layout determination logic. For details, see Breakpoints.
The page layout displayed in different folding states of a tri-fold device is determined using the horizontal breakpoint of one-time development for multi-device deployment. The following methods are not recommended for determining UX layout:
Incomplete or Abnormal App Starting Window in Unfolded State
Issue description: When an app is launched on a foldable device in unfolded state, the starting window of the app is not fully displayed on the screen, resulting in blank areas or a truncated page layout.
Possible cause: The starting window is not configured for the app.
Solution: You need to configure an enhanced starting window for the app. After the configuration, resources such as the background, images, and icons on the starting window can be automatically adapted to the window size to ensure proper display on devices of different states. For details about the tags, see startWindow.
Tri-Fold Phone's G State Supports Only the Portrait Mode and Cannot Be Rotated
Issue description: In the G state, a tri-fold device supports only the portrait mode and cannot be rotated.
Possible cause: The developer sets that the rotation feature is enabled when the folding status of the bi-fold device is FoldStatus.FOLD_STATUS_EXPANDED (expanded state), and the screen is in portrait mode by default in other states. However, the folding status of the tri-fold device in the G state is FoldStatus.FOLD_STATUS_EXPANDED_WITH_SECOND_EXPANDED, which does not match the folding status of the bi-fold device. Therefore, the rotation cannot be triggered, and only the portrait mode is supported.
Solution: Change the orientation attribute in the module.json5 configuration file to FOLLOW_DESKTOP according to the rule of Following the Home Screen Rotation Policies.
Screen Orientation Changes During Folding and Unfolding
Issue description: When a tri-fold device is in the default state and the screen is not actively rotated, the display orientation of the screen automatically changes during the folding and unfolding of the screen.
Possible cause: In different folding states of a tri-fold device, even if the screen rotation angle is the same, the system defines the display orientation differently.
Solution: During development, pay attention to the differences in the default display orientation in different folding states of a tri-fold device to avoid page layout or function exceptions caused by incorrect orientation determination.
Tri-Fold Folding State | Single-screen State (F State) | Dual-screen State (M State) | Triple-screen State (G State) |
|---|---|---|---|
Display effect (charging port facing downwards) |
|
|
|
Screen rotation angle (rotation) | 0 | 0 | 0 |
Screen orientation (Orientation) | Portrait mode (PORTRAIT) | Portrait mode (PORTRAIT) | Inverted landscape mode (LANDSCAPE_INVERTED) |