右上にある三点リーダー
これがOverflow Menuですね!
これをJetpackComposeで実装してみた
・三点リーダー
IconButton() { Icon( Icons.Default.MoreVert ) }
・実装の仕方
DropdownMenuとDropdownMenuItemで作る
https://stackoverflow.com/questions/65373652/how-can-toolbar-with-overflow-menu-be-created-with-jetpack-compose
DropdownMenu() { DropdownMenuItem(onClick = { // 処理 }) { Text() } DropdownMenuItem(onClick = { // 処理 }) { Text() } }
・メニューの表示/非表示
var showMenu by remember { mutableStateOf(false) } DropdownMenu( expanded = showMenu, onDismissRequest = { showMenu = false },
・画面遷移
https://stackoverflow.com/questions/65088035/how-to-navigate-from-a-composable-to-an-activity-or-a-fragment-in-jetpack-compos
nativagtionを導入してなければ
val context = LocalContext.current context.startActivity(Intent(context, AAAActvity::class.java))
navigationを導入してあれば
navController.navigate(HOGE)
・位置の設定
Menuが三点リーダーの下にある
既存だと三点リーダーとかぶってるので位置を変えたくなるよね
https://stackoverflow.com/questions/65662803/open-dropdown-below-the-selected-value-flutter
DropdownMenu( offset = DpOffset( 0.dp, -20.dp ),
関連記事:
- JetpackComposeにNavigationを入れてみた
- Jetpack Compose Navigationでオブジェクトを渡して画面遷移する
- Jetpack Composeで調べたこと その1