J'ai un composé composable qui utilise un gestionnaire pour mettre à jour lentement l'alpha d'une image à l'intérieur d'une composition. Cependant, je constate que l'écran s'éteint avant que l'animation puisse terminer.
Dans les mises en page XML, nous pourrions le garder en vie en utilisant
[.____] Android:keepScreenOn
ouwindow.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
Existe-t-il un moyen de faire cela en utilisant la composition sans utiliser la permission de verrouillage de réveil?
C'est comme ça que j'ai mis en œuvre le mien
Dans ma fonction compostable, j'ai un bouton pour activer le flag_keeigne_screen_on ou effacer Flag_ekee_screen_on
@Composable
fun MyButton() {
var state by rememberSaveable {
mutableStateOf(false)
}
val context = LocalContext.current
Button(
...
modifier = Modifier
.clickable {
state = !state
keepScreen(state, context)
}
...
)
}
fun keepScreen(state: Boolean, context : Context) {
val activity = context as Activity
if(state) {
activity.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}else {
activity.window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
}