mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Refactor non-ripple Modifier into a separate file
Modifiers.kt will be a place for other extensions on Modifier class PiperOrigin-RevId: 709416429
This commit is contained in:
parent
6da58758a8
commit
afd601f670
@ -20,8 +20,6 @@ import androidx.activity.ComponentActivity
|
|||||||
import androidx.activity.compose.setContent
|
import androidx.activity.compose.setContent
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
@ -39,6 +37,7 @@ import androidx.media3.common.Player
|
|||||||
import androidx.media3.demo.compose.buttons.ExtraControls
|
import androidx.media3.demo.compose.buttons.ExtraControls
|
||||||
import androidx.media3.demo.compose.buttons.MinimalControls
|
import androidx.media3.demo.compose.buttons.MinimalControls
|
||||||
import androidx.media3.demo.compose.data.videos
|
import androidx.media3.demo.compose.data.videos
|
||||||
|
import androidx.media3.demo.compose.layout.noRippleClickable
|
||||||
import androidx.media3.exoplayer.ExoPlayer
|
import androidx.media3.exoplayer.ExoPlayer
|
||||||
import androidx.media3.ui.compose.PlayerSurface
|
import androidx.media3.ui.compose.PlayerSurface
|
||||||
import androidx.media3.ui.compose.SURFACE_TYPE_SURFACE_VIEW
|
import androidx.media3.ui.compose.SURFACE_TYPE_SURFACE_VIEW
|
||||||
@ -71,13 +70,7 @@ private fun MediaPlayerScreen(player: Player, modifier: Modifier = Modifier) {
|
|||||||
PlayerSurface(
|
PlayerSurface(
|
||||||
player = player,
|
player = player,
|
||||||
surfaceType = SURFACE_TYPE_SURFACE_VIEW,
|
surfaceType = SURFACE_TYPE_SURFACE_VIEW,
|
||||||
modifier =
|
modifier = modifier.noRippleClickable { showControls = !showControls },
|
||||||
modifier.clickable(
|
|
||||||
interactionSource = remember { MutableInteractionSource() },
|
|
||||||
indication = null, // to prevent the ripple from the tap
|
|
||||||
) {
|
|
||||||
showControls = !showControls
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
if (showControls) {
|
if (showControls) {
|
||||||
MinimalControls(player, Modifier.align(Alignment.Center))
|
MinimalControls(player, Modifier.align(Alignment.Center))
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2024 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package androidx.media3.demo.compose.layout
|
||||||
|
|
||||||
|
import androidx.compose.foundation.clickable
|
||||||
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
internal fun Modifier.noRippleClickable(onClick: () -> Unit): Modifier {
|
||||||
|
return then(
|
||||||
|
clickable(
|
||||||
|
interactionSource = remember { MutableInteractionSource() },
|
||||||
|
indication = null, // to prevent the ripple from the tap
|
||||||
|
) {
|
||||||
|
onClick()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user