Add HorizontalPagerScaffold to Navigation demo app
Swiping to dismiss from the edge works on the PagerScaffold screen
for both API 34 & 35.
Bug: 388234344
Test: Manual - videos in attached bug
Change-Id: I3e2a2798edb2960d6c5e0ca17834dcac9fb6bdbc
diff --git a/wear/compose/integration-tests/navigation/build.gradle b/wear/compose/integration-tests/navigation/build.gradle
index 927217c..68bb715 100644
--- a/wear/compose/integration-tests/navigation/build.gradle
+++ b/wear/compose/integration-tests/navigation/build.gradle
@@ -49,6 +49,7 @@
implementation(project(":compose:foundation:foundation-layout"))
implementation(project(":compose:runtime:runtime"))
implementation(project(":wear:compose:compose-material"))
+ implementation(project(":wear:compose:compose-material3"))
implementation(project(":wear:compose:compose-foundation"))
implementation(project(":wear:compose:compose-foundation-samples"))
implementation(project(":wear:compose:compose-material-samples"))
diff --git a/wear/compose/integration-tests/navigation/src/main/java/androidx/wear/compose/integration/navigation/MainActivity.kt b/wear/compose/integration-tests/navigation/src/main/java/androidx/wear/compose/integration/navigation/MainActivity.kt
index fe2e2ee..5e56425 100644
--- a/wear/compose/integration-tests/navigation/src/main/java/androidx/wear/compose/integration/navigation/MainActivity.kt
+++ b/wear/compose/integration-tests/navigation/src/main/java/androidx/wear/compose/integration/navigation/MainActivity.kt
@@ -32,10 +32,14 @@
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.wear.compose.foundation.edgeSwipeToDismiss
+import androidx.wear.compose.foundation.pager.rememberPagerState
import androidx.wear.compose.foundation.rememberSwipeToDismissBoxState
import androidx.wear.compose.material.CompactChip
import androidx.wear.compose.material.MaterialTheme
import androidx.wear.compose.material.Text
+import androidx.wear.compose.material3.AppScaffold
+import androidx.wear.compose.material3.HorizontalPagerScaffold
+import androidx.wear.compose.material3.ScreenScaffold
import androidx.wear.compose.navigation.SwipeDismissableNavHost
import androidx.wear.compose.navigation.composable
import androidx.wear.compose.navigation.rememberSwipeDismissableNavController
@@ -71,6 +75,11 @@
onClick = { navController.navigate(EDGE_SWIPE_SCREEN) },
label = { Text("Screen with edge swipe") },
)
+ Spacer(modifier = Modifier.fillMaxWidth().height(4.dp))
+ CompactChip(
+ onClick = { navController.navigate(PAGER_SCAFFOLD_SCREEN) },
+ label = { Text("Screen with PagerScaffold") },
+ )
}
}
composable(SCREEN2) {
@@ -127,6 +136,22 @@
)
}
}
+ composable(PAGER_SCAFFOLD_SCREEN) {
+ AppScaffold {
+ val pagerState = rememberPagerState(pageCount = { 10 })
+
+ HorizontalPagerScaffold(pagerState = pagerState) { page ->
+ ScreenScaffold {
+ Box(
+ modifier = Modifier.fillMaxSize(),
+ contentAlignment = Alignment.Center
+ ) {
+ Text("Page $page")
+ }
+ }
+ }
+ }
+ }
}
}
}
@@ -137,3 +162,4 @@
private const val SCREEN2 = "screen2"
private const val SCREEN3 = "screen3"
private const val EDGE_SWIPE_SCREEN = "edge_swipe_screen"
+private const val PAGER_SCAFFOLD_SCREEN = "pager_scaffold_screen"