compose-ui-components-cheatsheet

🧩 Jetpack Compose UI Components Cheat Sheet

A developer-focused reference for building UIs with Jetpack Compose — neatly categorized and ready to use.


🎨 Basic UI

Components: Text, AnnotatedString, SelectionContainer, DisableSelection
📝 Text display and selection handling


🔲 Buttons

Components: Button, TextButton, OutlinedButton, ElevatedButton, FilledTonalButton, IconButton, IconToggleButton, FloatingActionButton, ExtendedFloatingActionButton, SmallFloatingActionButton, LargeFloatingActionButton
📝 All button variants and interactions


🖼️ Images & Icons

Components: Image, Icon, AsyncImage, SubcomposeAsyncImage
📝 Display images, icons, and async loaded content


📐 Layouts

Components: Row, Column, Box, BoxWithConstraints, ConstraintLayout, Surface, Spacer, FlowRow, FlowColumn
📝 Arrange elements, layer or position UI, flexible wrapping layouts


📝 Text Input

Components: TextField, OutlinedTextField, BasicTextField
📝 Text input fields and variants


☑️ Selection Controls

Components: Checkbox, TriStateCheckbox, Switch, RadioButton, Slider, RangeSlider, SegmentedButton, SingleChoiceSegmentedButtonRow, MultiChoiceSegmentedButtonRow
📝 User selection and input controls


📋 Lists/Grids

Components: LazyColumn, LazyRow, LazyVerticalGrid, LazyHorizontalGrid, LazyVerticalStaggeredGrid, LazyHorizontalStaggeredGrid
📝 Efficient scrollable views and grids


🏗️ App Structure & Navigation

Components: Scaffold, TopAppBar, CenterAlignedTopAppBar, MediumTopAppBar, LargeTopAppBar, BottomAppBar, NavigationBar, NavigationBarItem, NavigationRail, NavigationRailItem, NavigationDrawer, ModalNavigationDrawer, PermanentNavigationDrawer, DismissibleNavigationDrawer, NavigationDrawerItem
📝 App layout skeletons and navigation components


Components: SearchBar, DockedSearchBar
📝 Search interfaces


💬 Dialogs & Overlays

Components: AlertDialog, BasicAlertDialog, Dialog, Popup, DropdownMenu, DropdownMenuItem, ExposedDropdownMenuBox
📝 Modal dialogs, popups, and dropdown menus


📑 Bottom Sheets

Components: BottomSheetScaffold, ModalBottomSheetLayout, ModalBottomSheet
📝 Bottom sheet containers and layouts


📑 Tabs & Paging

Components: TabRow, ScrollableTabRow, Tab, LeadingIconTab, HorizontalPager, VerticalPager, PagerState
📝 Tab navigation and swipeable content


⏳ Progress & Loading

Components: CircularProgressIndicator, LinearProgressIndicator
📝 Loading states and progress indication


🎬 Animation

Components: AnimatedVisibility, AnimatedContent, Crossfade, Transition, updateTransition, animateContentSize, animateColorAsState, animateFloatAsState, animateDpAsState, animateIntAsState, animateOffsetAsState, animateRectAsState, animateSizeAsState, animateValueAsState
📝 Animation components and state animations


🎨 Custom Drawing

Components: Canvas, DrawScope
📝 Custom graphics and drawing


🏷️ Chips

Components: FilterChip, ElevatedFilterChip, AssistChip, ElevatedAssistChip, InputChip, SuggestionChip, ElevatedSuggestionChip
📝 Chip components for selection and actions


📊 Cards & Containers

Components: Card, ElevatedCard, OutlinedCard, ListItem
📝 Content containers and list items


🏷️ Labels & Badges

Components: Badge, BadgedBox, Tooltip, PlainTooltip, RichTooltip
📝 Contextual information and labels


➖ Dividers

Components: Divider, HorizontalDivider, VerticalDivider
📝 Visual separators


📅 Date & Time Pickers

Components: DatePicker, DatePickerDialog, DateRangePicker, TimePicker, TimePickerDialog
📝 Date and time selection components


🔔 Notifications

Components: Snackbar, SnackbarHost, SnackbarData, SnackbarHostState
📝 In-app notifications and messages


🎯 Advanced Input

Components: DragAndDropSource, DragAndDropTarget, SwipeToDismiss, SwipeToReveal
📝 Advanced interaction patterns


🖱️ Focus & Accessibility

Components: FocusRequester, Modifier.focusable(), Modifier.clickable(), Modifier.selectable(), Modifier.toggleable(), Modifier.semantics()
📝 Focus management and accessibility


🎨 Theming Support

Components: MaterialTheme, LocalContentColor, LocalTextStyle, ProvideTextStyle, CompositionLocalProvider
📝 Theme and styling system integration


🔄 Pull to Refresh

Components: PullToRefreshContainer, PullToRefreshState
📝 Pull-to-refresh functionality


📱 System UI

Components: SystemBarsScaffold, WindowInsets, WindowInsetsConnection
📝 System UI integration components