From 377bc7210157fec1eda629442b4ab2bbb67f3087 Mon Sep 17 00:00:00 2001 From: manabu-nakamura Date: Thu, 15 Feb 2024 10:15:35 +0900 Subject: [PATCH 1/2] Reply is laid out edge-to-edge in 2 & 3-button navigation mode --- Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt b/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt index ca66807e8d..60bf4b7b81 100644 --- a/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt +++ b/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt @@ -29,6 +29,7 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.dp +import androidx.core.view.ViewCompat import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.example.reply.data.local.LocalEmailsDataProvider import com.example.reply.ui.theme.ReplyTheme @@ -42,6 +43,7 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { enableEdgeToEdge() super.onCreate(savedInstanceState) + ViewCompat.setOnApplyWindowInsetsListener(window.decorView) { _, insets -> insets } setContent { ReplyTheme { From 86e929fbddae6e528ee23cbf600fa6ef83fefc46 Mon Sep 17 00:00:00 2001 From: manabu-nakamura Date: Wed, 21 Feb 2024 18:33:34 +0900 Subject: [PATCH 2/2] Reply is laid out edge-to-edge in 2 & 3-button navigation mode --- .../main/java/com/example/reply/ui/MainActivity.kt | 4 ---- .../src/main/java/com/example/reply/ui/theme/Theme.kt | 11 +++++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt b/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt index 60bf4b7b81..62bb64a75b 100644 --- a/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt +++ b/Reply/app/src/main/java/com/example/reply/ui/MainActivity.kt @@ -19,7 +19,6 @@ package com.example.reply.ui import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.compose.material3.windowsizeclass.ExperimentalMaterial3WindowSizeClassApi import androidx.compose.material3.windowsizeclass.WindowSizeClass @@ -29,7 +28,6 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.dp -import androidx.core.view.ViewCompat import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.example.reply.data.local.LocalEmailsDataProvider import com.example.reply.ui.theme.ReplyTheme @@ -41,9 +39,7 @@ class MainActivity : ComponentActivity() { @OptIn(ExperimentalMaterial3WindowSizeClassApi::class) override fun onCreate(savedInstanceState: Bundle?) { - enableEdgeToEdge() super.onCreate(savedInstanceState) - ViewCompat.setOnApplyWindowInsetsListener(window.decorView) { _, insets -> insets } setContent { ReplyTheme { diff --git a/Reply/app/src/main/java/com/example/reply/ui/theme/Theme.kt b/Reply/app/src/main/java/com/example/reply/ui/theme/Theme.kt index 209cbeb065..163590a285 100644 --- a/Reply/app/src/main/java/com/example/reply/ui/theme/Theme.kt +++ b/Reply/app/src/main/java/com/example/reply/ui/theme/Theme.kt @@ -16,7 +16,11 @@ package com.example.reply.ui.theme +import android.graphics.Color import android.os.Build +import androidx.activity.ComponentActivity +import androidx.activity.SystemBarStyle +import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.MaterialTheme import androidx.compose.material3.darkColorScheme @@ -91,6 +95,13 @@ fun ReplyTheme( dynamicColor: Boolean = true, content: @Composable () -> Unit ) { + val transparent = Color.TRANSPARENT + (LocalContext.current as ComponentActivity).enableEdgeToEdge( + navigationBarStyle = if (darkTheme) + SystemBarStyle.dark(transparent) + else + SystemBarStyle.light(transparent, transparent) + ) val replyColorScheme = when { dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { val context = LocalContext.current