navigation en cours

navigationHost
nosillard 1 year ago
parent 7ccb9e8cf9
commit 2d231a4402

@ -55,6 +55,7 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.veraxapplication.data.Article
// doc navBar: https://developer.android.com/reference/kotlin/androidx/compose/material3/package-summary#TopAppBar(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function1,androidx.compose.foundation.layout.WindowInsets,androidx.compose.material3.TopAppBarColors,androidx.compose.material3.TopAppBarScrollBehavior)
// doc compose, pleins de trucs: https://developer.android.com/jetpack/compose/text?hl=fr
@ -179,3 +180,10 @@ fun AffichageUnArticle(article : List<String>){
}
}
}
@Composable
fun HomeScreen(
goToArticle: (Article) -> Unit
) {
}

@ -0,0 +1,9 @@
package com.example.veraxapplication.data
import android.media.Image
data class Article(
val id: Int,
val titre: String,
val texte: String
)

@ -0,0 +1,18 @@
package com.example.veraxapplication.data
object Stub {
val Articles: List<Article> by lazy {
createArticles()
}
private fun createArticles(): List<Article> {
return listOf(
Article(1, "Titre1", "test du corps de l'article 1"),
Article(2, "Titre2", "test du corps de l'article 2"),
Article(3, "Titre3", "test du corps de l'article 3"),
Article(4, "Titre4", "test du corps de l'article 4")
)
}
}

@ -0,0 +1,39 @@
package com.example.veraxapplication.navigation
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Modifier
import androidx.navigation.NavType
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import androidx.navigation.navArgument
import com.example.veraxapplication.HomeScreen
import com.example.veraxapplication.data.Stub
//https://codefirst.iut.uca.fr/git/Kotlin_Android/Android_TP_2/src/branch/master/app/src/main/java/fr/iut/tp2/navigation/TP2NavHost.kt
@Composable
fun NavHost(){
val navController = rememberNavController()
val articles = Stub.Articles
NavHost(
modifier = Modifier.fillMaxSize(),
navController = navController,
startDestination = "home"
) {
composable(route = "home") {
HomeScreen(
//article = , //recup l article cliqué
goToArticle = {
navController.navigate("articleALaUne/${it.id}")
}
)
}
composable(
route = "articleALaUne/{articleId}",
arguments = navArgument("articleALaUne") { type = NavType.LongType })
}
}
Loading…
Cancel
Save