Skip to content
Snippets Groups Projects
Select Git revision
  • 6fe9c405cce854d92fb1e04347d943f4192bc9b6
  • main default protected
2 results

MainActivity.kt

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    MainActivity.kt 2.29 KiB
    package com.example.diceroller
    
    import android.os.Bundle
    import androidx.activity.ComponentActivity
    import androidx.activity.compose.setContent
    import androidx.compose.foundation.layout.Column
    import androidx.compose.foundation.layout.fillMaxSize
    import androidx.compose.foundation.layout.wrapContentSize
    import androidx.compose.material3.Button
    import androidx.compose.material3.MaterialTheme
    import androidx.compose.material3.Surface
    import androidx.compose.material3.Text
    import androidx.compose.runtime.Composable
    import androidx.compose.ui.Alignment
    import androidx.compose.ui.Modifier
    import androidx.compose.ui.res.stringResource
    import androidx.compose.ui.tooling.preview.Preview
    import com.example.diceroller.ui.theme.DiceRollerTheme
    import androidx.compose.foundation.Image
    import androidx.compose.foundation.layout.Spacer
    import androidx.compose.ui.res.painterResource
    import androidx.compose.foundation.layout.height
    import androidx.compose.foundation.layout.Spacer
    import androidx.compose.ui.unit.dp
    import androidx.compose.runtime.getValue
    import androidx.compose.runtime.setValue
    import androidx.compose.runtime.mutableStateOf
    import androidx.compose.runtime.remember
    
    class MainActivity : ComponentActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContent {
                DiceRollerTheme {
                    DiceRollerApp()
                }
            }
        }
    }
    
    
    
    
    
    
    @Preview
    @Composable
    fun DiceRollerApp(){
        DiceWithButtonAndImage()
    }
    
    @Composable
    fun DiceWithButtonAndImage(modifier: Modifier = Modifier
        .fillMaxSize()
        .wrapContentSize(Alignment.Center)
    ){
    
        var result by remember { mutableStateOf(1) }
        val imageResource = when(result){
            1 -> R.drawable.dice_1
            2 -> R.drawable.dice_2
            3 -> R.drawable.dice_3
            4 -> R.drawable.dice_4
            5 -> R.drawable.dice_5
            else -> R.drawable.dice_6
        }
        Column (
        modifier = modifier,
        horizontalAlignment = Alignment.CenterHorizontally
        )  {
            Image(
                painter = painterResource(id = imageResource),
                contentDescription = result.toString()
            )
            Spacer(modifier = Modifier.height(16.dp))
    
            Button(onClick = { result = (1..6).random()}) {
                Text(stringResource(R.string.roll))
            }
        }
    
    
    }