Nino
10/22/2024, 11:12 AMTextTextButtonTextButtonNino
10/22/2024, 11:13 AMpackage fr.delcey.endnewpostcompose
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.material3.Slider
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
class LayoutActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Box(Modifier.fillMaxSize()) {
                var sliderPosition by remember { mutableFloatStateOf(0f) }
                Column(
                    modifier = Modifier
                        .align(Alignment.TopCenter)
                        .fillMaxWidth()
                        .height((sliderPosition * 200).dp),
                ) {
                    CroppableContent()
                }
                Column(
                    modifier = Modifier
                        .align(Alignment.BottomCenter)
                ) {
                    Slider(
                        value = sliderPosition,
                        onValueChange = { sliderPosition = it }
                    )
                    Text(text = sliderPosition.toString())
                }
            }
        }
    }
    @Composable
    private fun CroppableContent() {
        Text(
            text = "Lorem ipsum dolor sit amet",
            modifier = Modifier
                .fillMaxWidth()
                .height(100.dp)
                .background(Color.Red)
        )
        Text(
            text = "Lorem ipsum dolor sit amet",
            modifier = Modifier
                .fillMaxWidth()
                .height(100.dp)
                .background(Color.Blue)
        )
    }
}Nino
10/22/2024, 11:13 AM@Composable
    private fun CroppableContent() {
        Button(
            onClick = { /*TODO*/ },
            modifier = Modifier
                .fillMaxWidth()
                .height(100.dp)
                .background(Color.Red)
        ) {
            Text(text = "Lorem ipsum dolor sit amet")
        }
        Button(
            onClick = { /*TODO*/ },
            modifier = Modifier
                .fillMaxWidth()
                .height(100.dp)
                .background(Color.Blue)
        ) {
            Text(text = "Lorem ipsum dolor sit amet")
        }
    }Stylianos Gakis
10/22/2024, 11:22 AMSurface(Modifier.clickable {}) {
  Text("text", Modifier.padding...)
}Nino
10/22/2024, 11:25 AMStylianos Gakis
10/22/2024, 11:28 AMNino
10/22/2024, 11:32 AMLottieAnimationStylianos Gakis
10/22/2024, 11:40 AMminSizeNino
10/22/2024, 11:43 AMStylianos Gakis
10/22/2024, 11:54 AMNino
10/22/2024, 12:02 PMStylianos Gakis
10/22/2024, 12:03 PMNino
10/22/2024, 12:04 PMAlbert Chang
10/22/2024, 12:06 PMCompositionLocalProvider(
    LocalMinimumInteractiveComponentEnforcement provides false
) {
    ...
}AnimatedVisibilityNino
10/22/2024, 12:09 PMAlbert Chang
10/22/2024, 12:17 PMAnimatedVisibilityModifier
    .graphicsLayer(clip = true)
    .wrapContentHeight(align = <http://Alignment.Top|Alignment.Top>, unbounded = true)Stylianos Gakis
10/22/2024, 12:19 PMAnimatedVisibility(
  visible = ...,
  enter = expandVertically(expandFrom = <http://Alignment.Top|Alignment.Top>),
  exit = shrinkVertically(shrinkTowards = <http://Alignment.Top|Alignment.Top>),
)Nino
10/22/2024, 12:29 PMModifier
    .graphicsLayer(clip = true)
    .wrapContentHeight(align = <http://Alignment.Top|Alignment.Top>, unbounded = true)animate*AsState