Mad Task 1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

// Import necessary Jetpack Compose libraries

import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.Button
import androidx.compose.runtime.*
import androidx.navigation.NavController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import com.example.myapplication.ui.theme.MyApplicationTheme

@Composable
fun MyApplication() {
MyApplicationTheme {
// Create a NavController
val navController = rememberNavController()

// NavHost for navigation


NavHost(navController = navController, startDestination = "page1") {
// Page 1
composable("page1") {
Page1(navController)
}
// Page 2
composable("page2") {
Page2(navController)
}

// Page 3 - My Application Configuration


composable("config") {
ConfigPage(navController)
}
}
}
}

@Composable
fun Page1(navController: NavController) {
// Content of Page 1
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
){
Text("This is Page 1")

// Button to navigate to Page 2


Button(onClick = { navController.navigate("page2") }) {
Text("Go to Page 2")
}
}
}
@Composable
fun Page2(navController: NavController) {
// Content of Page 2
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
){
Text("This is Page 2")

// Button to navigate back to Page 1


Button(onClick = { navController.navigate("page1") }) {
Text("Go to Page 1")
}
}
}

@Composable
fun ConfigPage(navController: NavController) {
// Content of Config Page
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
){
Text("My Application Configuration")
// Button to navigate back to Page 1
Button(onClick = { navController.navigate("page1") }) {
Text("Go to Page 1")
}
}
}
package com.example.practice

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.Arrangement
//import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
//import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.material3.Icon
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.tooling.preview.Preview
import com.example.practice.ui.theme.PracticeTheme
//import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
//import androidx.compose.ui.unit.sp

//import androidx.compose.ui.unit.sp

class MainActivity : ComponentActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
PracticeTheme {
// A surface container using the 'background' color from the theme
Surface(modifier = Modifier.fillMaxSize(), color =
MaterialTheme.colorScheme.background) {
Greeting()
}
}
}
}
}

@Composable
fun Greeting() {
Row(modifier = Modifier.size(400.dp),
)
{
Icon(painter = painterResource(id = R.drawable.ic_launcher_foreground),
contentDescription ="",
modifier = Modifier.size(2000.dp))
}
{

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
PracticeTheme {
Greeting()
}
}

You might also like