1.compose中怎么使用对话框?
2.怎么显示Popup弹窗?
一、Compose显示对话框
二、Popup
Popup就类似以前的Popupwindow,我们可以看到其实上面的DropdownMenu是Popup的一个具体实现。
2.1 Popup定义
Popup的定义如下:
@Composable
fun Popup(
    alignment: Alignment = Alignment.TopStart,
    offset: IntOffset = IntOffset(0, 0),
    onDismissRequest: (() -> Unit)? = null,
    properties: PopupProperties = PopupProperties(),
    content: @Composable () -> Unit
) {
    val popupPositioner = remember(alignment, offset) {
        AlignmentOffsetPositionProvider(
            alignment,
            offset
        )
    }
    Popup(
        popupPositionProvider = popupPositioner,
        onDismissRequest = onDismissRequest,
        properties = properties,
        content = content
    )
}相关属性分析
| 属性 | 取值 | 备注 | 
| alignment | 在父控件的对齐方式。 TopStart:顶部开头对齐 TopCenter:顶部居中对齐 | 对齐方式。 | 
| offset | offset 偏移。IntOffset(x,y) x是水平方向上的偏移,y是竖直方向上的偏移 | 偏移量。相对于对齐位置的基准线。 | 
| onDismissRequest | 这个相当于原来的Popup设置outsideClick处理 | 当用户在弹出窗口外单击时执行的回调 | 
| properties | PopupProperties对象。 | 弹窗属性 | 
| content | 包裹的Compose控件 | 子控件卡槽。(弹窗内容区域) | 

如图,标题栏的盘点按钮,点击以后,开始显示一个Popup弹窗。
1)通过一个状态State控制是否显示和隐藏Popup
2) 定义弹窗的位置和内容。
















![[Git] git stash命令详解](https://i-blog.csdnimg.cn/direct/4a850481aab742989d0d5d288f4843f1.png)


