Я пытаюсь получить прозрачную панель навигации в моем приложении. Некоторые приложения Android имеют эту функцию, где содержимое скользит под кнопками навигации (которые находятся на прозрачной поверхности), и он уважает высоту полосы, чтобы обеспечить взаимодействие с пользователем. Существуют также нижние навигационные стержни, которые проводят поверхность под навигационными кнопками и отображают контент выше. По сути, я пытаюсь получить это и это и следовать рекомендуемым рекомендациям. Мое приложение основано на одной активности, с функцией oncreate () mainActiviy как:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
installSplashScreen().setKeepOnScreenCondition {
return@setKeepOnScreenCondition mainViewModel.showSplashScreen
}
enableEdgeToEdge()
setContent {
PionTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
//Content here!
}
}
}
}
< /code>
Мой материал довольно проста: < /p>
@Composable
fun PionTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
dynamicColor: Boolean = true,
content: @Composable () -> Unit
) {
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
val context = LocalContext.current
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}
darkTheme -> darkScheme
else -> lightScheme
}
MaterialExpressiveTheme(
colorScheme = colorScheme,
typography = typography,
content = content
)
}
< /code>
Моя конфигурация для тем в манифесте: < /p>
...
< /code>
Мои темы XML следующие: < /p>
, если я применяю его к модификатору текста, я получаю:
< /p>
Если я удалю нижнюю панель, навигационная полоса с помощью, даже прозрачно, а содержание в лазиколомме не прокручивается позади него даже с применением modifier.fillmaxsize () < /code>. Тем не менее, я использую значения заполнения, предоставленные каркасом. Стоит отметить, что строка состояния работает совершенно нормально (она прозрачна и позволяет мне нарисовать контент, если без проблем и использования модификатора. SafecontentPadding () заставляет композиционные устройства избегать строки состояния) просто из коробки, поэтому я подумал, что бара NAV также будет работать, но это не так! Я хочу избежать любого windowcompat.setdecorfitssystemwindows (window, false) или аналогичный код; Насколько я понимаю, прозрачная навигационная панель автоматически обрабатывается enableedGetoEdge () и материалом. Заранее спасибо за предложение!
Подробнее здесь: [url]https://stackoverflow.com/questions/79728623/how-do-i-make-my-navigation-bar-transparent-with-material3-expressive-and-naviga[/url]
Я пытаюсь получить прозрачную панель навигации в моем приложении. Некоторые приложения Android имеют эту функцию, где содержимое скользит под кнопками навигации (которые находятся на прозрачной поверхности), и он уважает высоту полосы, чтобы обеспечить взаимодействие с пользователем. Существуют также нижние навигационные стержни, которые проводят поверхность под навигационными кнопками и отображают контент выше. По сути, я пытаюсь получить это и это и следовать рекомендуемым рекомендациям. Мое приложение основано на одной активности, с функцией oncreate () mainActiviy как: [code]override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
setContent { PionTheme { Surface( modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { //Content here! } } } } < /code> Мой материал довольно проста: < /p> @Composable fun PionTheme( darkTheme: Boolean = isSystemInDarkTheme(), dynamicColor: Boolean = true, content: @Composable () -> Unit ) { val colorScheme = when { dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { val context = LocalContext.current if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) }
darkTheme -> darkScheme else -> lightScheme }
MaterialExpressiveTheme( colorScheme = colorScheme, typography = typography, content = content ) } < /code> Моя конфигурация для тем в манифесте: < /p>
...
< /code> Мои темы XML следующие: < /p>
, если я применяю его к модификатору текста, я получаю: < /p> Если я удалю нижнюю панель, навигационная полоса с помощью, даже прозрачно, а содержание в лазиколомме не прокручивается позади него даже с применением modifier.fillmaxsize () < /code>. Тем не менее, я использую значения заполнения, предоставленные каркасом. Стоит отметить, что строка состояния работает совершенно нормально (она прозрачна и позволяет мне нарисовать контент, если без проблем и использования модификатора. SafecontentPadding () заставляет композиционные устройства избегать строки состояния) просто из коробки, поэтому я подумал, что бара NAV также будет работать, но это не так! Я хочу избежать любого windowcompat.setdecorfitssystemwindows (window, false) или аналогичный код; Насколько я понимаю, прозрачная навигационная панель автоматически обрабатывается enableedGetoEdge () и материалом. Заранее спасибо за предложение!
Я пытаюсь получить прозрачную панель навигации в моем приложении. Некоторые приложения Android имеют эту функцию, где содержимое скользит под кнопками навигации (которые находятся на прозрачной поверхности), и он уважает высоту полосы, чтобы...
Я пытаюсь получить прозрачную панель навигации в моем приложении. Некоторые приложения Android имеют эту функцию, где содержимое скользит под кнопками навигации (которые находятся на прозрачной поверхности), и он уважает высоту полосы, чтобы...
import express from express ;
const app = express();
import dotenv from dotenv ;
import path from path ;
let _dirname = path.resolve();
import cors from cors
import { router } from ./routes.js ;
import connectDB from ./src/helper/dbConnection.js ;...
Я использовал различные фрагменты, где весь фон (полноэкранный) представляет собой единственный цвет - скажем, зеленый. Это хорошо сработало на каждой версии вплоть до API 35, которая представила эту функциональность EdgeOegege и использование...
Я использовал различные фрагменты, где весь фон (полноэкранный) представляет собой единственный цвет - скажем, зеленый. Это хорошо сработало на каждой версии вплоть до API 35, которая представила эту функциональность EdgeOegege и использование...