小编res*_*ser的帖子

Jetpack 撰写弹出菜单

我正在尝试使用 Jetpack compose 重写我的项目 UI。任何想法在android中使用jetpack compose添加弹出菜单? 像这个

我尝试使用 Stack() 布局来实现它,但结果不符合标准。

@Composable
fun LiveDataComponentList(productList: List<Product>) {
    AdapterList(data = productList) { product ->
        Stack() {
            Clickable(onClick = { PopupState.toggleOwner(product) }) {
                Card(...) {...}

            if (PopupState.owner == product) {
                Surface(color = Color.Gray,modifier = Modifier.gravity(Alignment.TopEnd) + Modifier.padding(12.dp)) {
                    Column() {
                        Text("menu 1")
                        Text("menu 2")
                        Text("menu 3")
                        Text("menu 4")
                        Text("menu 5")
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

和 PopupState 是

@Model
object PopupState
{
    var owner:Product?=null
    fun toggleOwner(item:Product)
    {
        if(owner==item)
            owner=null
        else
            owner=item
    }
} …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose

4
推荐指数
2
解决办法
4450
查看次数

标签 统计

android ×1

android-jetpack-compose ×1

kotlin ×1