Stay organized with collections
Save and categorize content based on your preferences.
Inputs, content, or other actions may appear relative to each other or
constrained to a parent container. Layouts can be more custom, but make sure to
follow consistent grouping, columns, and spacing.
Authentication is a common relative layout, as shown in the following figure. Where a custom layout is described by how the UI elements in relation to each other.
Layouts can also use a combination of layout types. For example, you might pair a
carousel or horizontal scroll with vertical cards. Or, you could present a
custom chart with vertical list data.
You can present content in scrolling rows or columns with lazy rows and lazy
columns.
Full-screen layout is another common layout, as used in immersive mode.
Figure 27: Full screen layout, as used in immersive mode
If you're working with Views instead of Compose, you can use
ConstraintLayout to lay out views according to relationships between
sibling views and the parent layout, allowing for large and complex layouts.
ConstraintLayout lets you build entirely by dragging and dropping instead of
editing the XML using the layout editor. Learn more about building a UI with
Layout Editor.
A Webview is a view that displays in-app web pages. In most cases, we recommend
using a standard web browser, like Chrome, to deliver content to the user. To
learn more about web browsers, read the guide for invoking a browser with an
intent.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["Inputs, content, or other actions may appear relative to each other or\nconstrained to a parent container. Layouts can be more custom, but make sure to\nfollow consistent grouping, columns, and spacing.\n\nAuthentication is a common relative layout, as shown in the following figure. Where a custom layout is described by how the UI elements in relation to each other.\n\nLayouts can also use a combination of layout types. For example, you might pair a\ncarousel or horizontal scroll with vertical cards. Or, you could present a\ncustom chart with vertical list data.\n\nYou can present content in scrolling rows or columns with lazy rows and lazy\ncolumns.\n\nFull-screen layout is another common layout, as used in [immersive mode](/design/ui/mobile/guides/layout-and-content/immersive-content).\n**Figure 27:** Full screen layout, as used in immersive mode\n\nIf you're working with Views instead of Compose, you can use\n[`ConstraintLayout`](/develop/ui/views/layout/constraint-layout) to lay out views according to relationships between\nsibling views and the parent layout, allowing for large and complex layouts.\n`ConstraintLayout` lets you build entirely by dragging and dropping instead of\nediting the XML using the layout editor. Learn more about [building a UI with\nLayout Editor](/studio/write/layout-editor).\n\nLearn more about [Compose layout basics](/develop/ui/compose/layouts/basics) and what makes up a composable.\n\nWebviews\n\nA Webview is a view that displays in-app web pages. In most cases, we recommend\nusing a standard web browser, like Chrome, to deliver content to the user. To\nlearn more about web browsers, read the guide for [invoking a browser with an\nintent](/guide/components/intents-common#Browser)."]]