Reference version

BasicAlertDialog

A Jetpack Compose BasicAlertDialog component for displaying dialogs with custom content.

Android
Bundled version:
~55.0.9

Expo UI BasicAlertDialog matches the official Jetpack Compose BasicAlertDialog API and displays a minimal dialog that accepts custom children as its content, giving you full control over the dialog layout.

Installation

Terminal
npx expo install @expo/ui

If you are installing this in an existing React Native app, make sure to install expo in your project.

Usage

Basic dialog with custom content

BasicAlertDialogExample.tsx
import { useState } from 'react'; import { Host, BasicAlertDialog, Button, TextButton, Text, Surface, Column, Spacer, } from '@expo/ui/jetpack-compose'; import { padding, wrapContentWidth, wrapContentHeight, clip, height, align, Shapes, } from '@expo/ui/jetpack-compose/modifiers'; export default function BasicAlertDialogExample() { const [visible, setVisible] = useState(false); return ( <Host matchContents> <Button onClick={() => setVisible(true)}> <Text>Open dialog</Text> </Button> {visible && ( <BasicAlertDialog onDismissRequest={() => setVisible(false)}> <Surface tonalElevation={6} modifiers={[wrapContentWidth(), wrapContentHeight(), clip(Shapes.RoundedCorner(28))]}> <Column modifiers={[padding(16, 16, 16, 16)]}> <Text> This area typically contains the supportive text which presents the details regarding the Dialog's purpose. </Text> <Spacer modifiers={[height(24)]} /> <TextButton onClick={() => setVisible(false)} modifiers={[align('centerEnd')]}> <Text>Confirm</Text> </TextButton> </Column> </Surface> </BasicAlertDialog> )} </Host> ); }

API

import { BasicAlertDialog } from '@expo/ui/jetpack-compose';

Component

BasicAlertDialog

Android

Type: React.Element<BasicAlertDialogProps>

A basic alert dialog that provides a blank container for custom content. Unlike AlertDialog, this component does not have structured title/text/buttons slots.

BasicAlertDialogProps

children

Android
Optional • Type: React.ReactNode

The content to display inside the dialog.

modifiers

Android
Optional • Type: ModifierConfig[]

Modifiers for the component.

onDismissRequest

Android
Optional • Type: () => void

Callback that is called when the user tries to dismiss the dialog (e.g. by tapping outside of it or pressing the back button).

properties

Android
Optional • Type: DialogProperties

Properties for the dialog window.

Types

DialogProperties

Android

Properties for the dialog window, matching DialogProperties in Compose.

PropertyTypeDescription
decorFitsSystemWindows(optional)boolean

Whether the dialog's decor fits system windows.

Default:true
dismissOnBackPress(optional)boolean

Whether the dialog can be dismissed by pressing the back button.

Default:true
dismissOnClickOutside(optional)boolean

Whether the dialog can be dismissed by clicking outside of it.

Default:true
usePlatformDefaultWidth(optional)boolean

Whether the dialog should use the platform default width.

Default:true