Skip to content

Commit e1e5820

Browse files
committed
feat: Add Android example header navigation
1 parent bd76ac5 commit e1e5820

File tree

3 files changed

+85
-1
lines changed

3 files changed

+85
-1
lines changed

android/app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ dependencies {
5555
implementation(platform(libs.androidx.compose.bom))
5656
implementation(libs.androidx.compose.ui)
5757
implementation(libs.androidx.compose.material3)
58+
implementation(libs.androidx.compose.material.icons.extended)
5859
implementation(libs.androidx.compose.ui.tooling.preview)
5960
implementation(libs.androidx.activity.compose)
6061

android/app/src/main/java/com/example/gutenbergkit/EditorActivity.kt

Lines changed: 83 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,24 @@ import androidx.activity.compose.setContent
88
import androidx.activity.enableEdgeToEdge
99
import androidx.compose.foundation.layout.fillMaxSize
1010
import androidx.compose.foundation.layout.padding
11+
import androidx.compose.material.icons.Icons
12+
import androidx.compose.material.icons.automirrored.filled.ArrowBack
13+
import androidx.compose.material.icons.automirrored.filled.Redo
14+
import androidx.compose.material.icons.automirrored.filled.Undo
15+
import androidx.compose.material.icons.filled.MoreVert
16+
import androidx.compose.material3.DropdownMenu
17+
import androidx.compose.material3.DropdownMenuItem
18+
import androidx.compose.material3.ExperimentalMaterial3Api
19+
import androidx.compose.material3.Icon
20+
import androidx.compose.material3.IconButton
1121
import androidx.compose.material3.Scaffold
22+
import androidx.compose.material3.Text
23+
import androidx.compose.material3.TopAppBar
1224
import androidx.compose.runtime.Composable
25+
import androidx.compose.runtime.getValue
26+
import androidx.compose.runtime.mutableStateOf
27+
import androidx.compose.runtime.remember
28+
import androidx.compose.runtime.setValue
1329
import androidx.compose.ui.Modifier
1430
import androidx.compose.ui.viewinterop.AndroidView
1531
import org.wordpress.gutenberg.EditorConfiguration
@@ -45,13 +61,79 @@ class EditorActivity : ComponentActivity() {
4561
}
4662
}
4763

64+
@OptIn(ExperimentalMaterial3Api::class)
4865
@Composable
4966
fun EditorScreen(
5067
configuration: EditorConfiguration,
5168
onClose: () -> Unit
5269
) {
70+
var showMenu by remember { mutableStateOf(false) }
71+
5372
Scaffold(
54-
modifier = Modifier.fillMaxSize()
73+
modifier = Modifier.fillMaxSize(),
74+
topBar = {
75+
TopAppBar(
76+
title = { },
77+
navigationIcon = {
78+
IconButton(onClick = onClose) {
79+
Icon(
80+
imageVector = Icons.AutoMirrored.Filled.ArrowBack,
81+
contentDescription = "Close"
82+
)
83+
}
84+
},
85+
actions = {
86+
IconButton(onClick = { }, enabled = false) {
87+
Icon(
88+
imageVector = Icons.AutoMirrored.Filled.Undo,
89+
contentDescription = "Undo"
90+
)
91+
}
92+
IconButton(onClick = { }, enabled = false) {
93+
Icon(
94+
imageVector = Icons.AutoMirrored.Filled.Redo,
95+
contentDescription = "Redo"
96+
)
97+
}
98+
IconButton(onClick = { showMenu = true }) {
99+
Icon(
100+
imageVector = Icons.Default.MoreVert,
101+
contentDescription = "More options"
102+
)
103+
}
104+
DropdownMenu(
105+
expanded = showMenu,
106+
onDismissRequest = { showMenu = false }
107+
) {
108+
DropdownMenuItem(
109+
text = { Text("Save") },
110+
onClick = { },
111+
enabled = false
112+
)
113+
DropdownMenuItem(
114+
text = { Text("Preview") },
115+
onClick = { },
116+
enabled = false
117+
)
118+
DropdownMenuItem(
119+
text = { Text("Code Editor") },
120+
onClick = { },
121+
enabled = false
122+
)
123+
DropdownMenuItem(
124+
text = { Text("Post Settings") },
125+
onClick = { },
126+
enabled = false
127+
)
128+
DropdownMenuItem(
129+
text = { Text("Help") },
130+
onClick = { },
131+
enabled = false
132+
)
133+
}
134+
}
135+
)
136+
}
55137
) { innerPadding ->
56138
AndroidView(
57139
factory = { context ->

android/gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ wordpress-rs-android = { group = "rs.wordpress.api", name = "android", version.r
3939
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
4040
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
4141
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
42+
androidx-compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended" }
4243
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
4344
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
4445

0 commit comments

Comments
 (0)