windowinsets.info

Pixel Fold Window Insets

Metrics

MarkdownJSON

Dimensions

Logical Size
411.43 × 796.95 dp
Resolution
1080 × 2092 px
Aspect Ratio
1:2
sw600dp
No
Physical Density
408 ppi
Android Density
420 dpi
Scale
2.63×
What does sw600dp mean?

“sw” means smallest width. Android's sw600dp resource qualifier applies when the app's smallest available width is at least 600 dp. The Yes/No value here compares the selected display's shorter measured logical dimension with 600 dp; exactly 600 dp counts as Yes.

Why do outer and inner sizes differ?

The diagram is drawn in Android layout units, not millimeters. Each display has its own pixel resolution and Android density, so a smaller px or dp value does not mean a physically shorter display.

  • Outer: 1080 × 2092 px ÷ 2.625 (420 dpi) = 411.43 × 796.95 dp
  • Inner: 2208 × 1840 px ÷ 2.625 (420 dpi) = 841.14 × 700.95 dp

Safe Area Insets

Top
41.9 dp
Bottom
48 dp
Left
0 dp
Right
0 dp

With the keyboard hidden, Compose's WindowInsets.safeDrawing and a View's systemBars() or displayCutout() insets resolve to these values.Compose · Views guide →

Display Cutout Bounds

Size
41.9 × 41.9 dp
Left
182.86 dp
Top
0 dp
Right
186.67 dp
Bottom
755.05 dp

Android-reported exclusion rectangle. Camera lenses may share one region; individual lens diameters and spacing are not measured.Cutout measurement limits →

Use in development

Compose Preview

Kotlin
// Pixel Fold · cover · 3-button · ROTATION_0 (captured 2026-09-27)
@Preview(device = "spec:width=1080px,height=2092px,dpi=420,cutout=punch_hole,navigation=buttons")
@Composable
fun PixelFoldCoverPreview() {
    // Your screen here
}

Size and density match this capture exactly. Compose Preview draws its own generic system bars and cutout, not the device's: check layouts against the measured insets above.

Window Size Class

Window
411.43 × 796.95 dp
Width / Height
Compact / Medium
  • Cover · ROTATION_0Compact / Medium
    411.43 × 796.95 dp
  • Cover · ROTATION_90not measured yet
  • Cover · ROTATION_270not measured yet
  • Main · ROTATION_0Expanded / Medium
    841.14 × 700.95 dpFLAT · VERTICAL · x=420.57dp · hinge sensor 180°
  • Main · ROTATION_90not measured yet
  • Main · ROTATION_270not measured yet

From WindowMetrics' maximum window in each capture (breakpoints: width 600 / 840 dp, height 480 / 900 dp; Large ≥ 1200 dp). Rotations without a capture are never derived by swapping width and height. HALF_OPENED (tabletop and book postures) is not measured yet: Remote Test Lab devices cannot be folded.

Emulator

Built into Android Studio as the pixel_fold device profile.

Shell
# Pixel Fold · cover · 3-button · ROTATION_0 (captured 2026-09-27)
adb shell wm size 1080x2092
adb shell wm density 420
adb shell cmd overlay enable-exclusive --category com.android.internal.systemui.navbar.threebutton
adb shell cmd overlay enable-exclusive --category com.android.internal.display.cutout.emulation.hole
adb shell settings put system accelerometer_rotation 0
adb shell settings put system user_rotation 0

# Restore the emulator's defaults
adb shell wm size reset
adb shell wm density reset
adb shell cmd overlay enable-exclusive --category com.android.internal.systemui.navbar.gestural
adb shell cmd overlay disable com.android.internal.display.cutout.emulation.hole
adb shell settings put system user_rotation 0
adb shell settings put system accelerometer_rotation 1

Runs your app at this capture's window size and density in the selected navigation mode and rotation; open your app first, since a portrait-locked launcher keeps the display upright. The cutout is AOSP's generic punch hole and the system bars stay the emulator's own, so the measured insets above are not reproduced.

Android details & sources
Android Emulator capture ↗

Values reported by the Android framework for the emulator's Pixel Fold device profile. They are not measured on Pixel hardware and may differ from a physical device.

Emulator selection

System Bars · 3-button

Top
41.9 dp
Bottom
48 dp
Left
0 dp
Right
0 dp

Display Cutout Insets

Top
41.9 dp
Bottom
0 dp
Left
0 dp
Right
0 dp

Status Bars

Top
41.9 dp
Bottom
0 dp
Left
0 dp
Right
0 dp

Navigation Bars

Top
0 dp
Bottom
48 dp
Left
0 dp
Right
0 dp

System Gestures

Top
54.1 dp
Bottom
48 dp
Left
0 dp
Right
0 dp

Mandatory System Gestures

Top
54.1 dp
Bottom
48 dp
Left
0 dp
Right
0 dp

Tappable Element

Top
41.9 dp
Bottom
48 dp
Left
0 dp
Right
0 dp
Test fixture · WindowInsetsCompat

Exact px of this capture for JVM UI tests (Robolectric, Paparazzi, Roborazzi).

Captured On

Emulator
Android Emulator 37.1.11.0
Device Profile
pixel_fold
Android
17
Build
CE2A.260420.019

Pixel Fold · Cover · Captured portrait. Rotation changes the view, not the recorded Android insets.

Android Emulator 37.1.11.0 running the pixel_fold device profile with its AOSP skin, system image CE2A.260420.019 (Android 17, API 37). Folded (device state CLOSED); no folding feature. Portrait rotation 0, default 420 dpi and font scale 1. InsetsProbe 1.5.0 reported a 1080×2092 px window. These are the values the framework reports for the emulator profile, not a Pixel hardware measurement. View rotation does not measure landscape insets.

How these values are measured →

Android Emulator capture · Not measured on Pixel hardware

0°

Scroll or drag to pan · Pinch to zoom · + / − to zoom · 0 to fit · ? for shortcuts

Keyboard shortcuts

Switch navigation mode
n
Rotate clockwise
r
Rotate counterclockwise
R
Switch outer / inner display
s
Switch dp / px
u
Show frame
f
Show regions
g
Show dimensions
d
Search devices (Enter opens the first match)
⌘K / Ctrl K, /
Zoom in / out
+ / −
Fit to canvas
0
Show this help
?

They never fire while typing. Turn them off if they conflict with a screen reader or speech input.