Tugas PPB - Membuat Aplikasi Dice Roller (Button)
Nama : Mavaldi Rizqy Hazdi
NRP : 5025211086
Kelas : Pemrograman Perangkat Bergerak D
Tugas kali ini adalah membuat sebuah aplikasi Dice Roller atau aplikasi pengacak dadu, tugas kali ini adalah untuk mempelajari komponen Button atau tombol dalam android studio seperti yang terdapat pada link berikut Dice Roller App. Setelah mengikuti tutorial dari link tersebut nantinya akan dilakukan beberapa modifikasi.
File MainActivity.kt :
package com.example.diceroller
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material3.Button
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.diceroller.ui.theme.DiceRollerTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
DiceRollerTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = Color.Yellow
) {
DiceRollerApp()
}
}
}
}
}
@Preview
@Composable
fun DiceRollerApp() {
DiceWithButtonAndImage(
modifier = Modifier
.fillMaxSize()
.wrapContentSize(Alignment.Center)
)
}
@Composable
fun DiceWithButtonAndImage(modifier: Modifier = Modifier) {
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(imageResource),
contentDescription = result.toString()
)
Spacer(modifier = Modifier.height(16.dp))
Button(
onClick = { result = (1..6).random() },
) {
Text(text = stringResource(R.string.roll), fontSize = 24.sp)
}
Spacer(modifier = Modifier.height(16.dp))
Text(
text = "You rolled:",
fontSize = 25.sp,
color = Color.Black
)
Spacer(modifier = Modifier.height(8.dp))
Text(
text = result.toString(),
fontSize = 48.sp,
color = Color.Black,
fontWeight = androidx.compose.ui.text.font.FontWeight.Bold
)
}
}
Tampilan Awal Aplikasi
Tampilan Project Setelah Modifikasi pada Android Studio
*modifikasi yang dilakukan pada aplikasi adalah mengganti warna background yang sebelumnya putih menjadi kuning dan menambahkan angka dari hasil putar dadu dibawah tombol Roll.
Link Repositori : Github
Vidio Presentasi
Komentar
Posting Komentar