From 61a22cc1e5a30561b491c63357e0ae8ce1b1d5ee Mon Sep 17 00:00:00 2001 From: AllenTom Date: Sun, 14 Jul 2024 14:07:22 +0800 Subject: [PATCH] add:likes list --- .../com/aiosman/riderpro/CommentsScreen.kt | 10 +- .../java/com/aiosman/riderpro/LikePage.kt | 94 +++++++++++++++++++ .../java/com/aiosman/riderpro/MainActivity.kt | 3 + .../java/com/aiosman/riderpro/MessageList.kt | 2 +- 4 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/com/aiosman/riderpro/LikePage.kt diff --git a/app/src/main/java/com/aiosman/riderpro/CommentsScreen.kt b/app/src/main/java/com/aiosman/riderpro/CommentsScreen.kt index 055dd64..87124ec 100644 --- a/app/src/main/java/com/aiosman/riderpro/CommentsScreen.kt +++ b/app/src/main/java/com/aiosman/riderpro/CommentsScreen.kt @@ -36,7 +36,7 @@ fun CommentsScreen() { .background(color = Color(0xFFFFFFFF)) .padding(16.dp) ) { - LikesScreenHeader() + NoticeScreenHeader("COMMENTS") Spacer(modifier = Modifier.height(28.dp)) LazyColumn( modifier = Modifier.weight(1f) @@ -51,18 +51,20 @@ fun CommentsScreen() { } @Composable -fun LikesScreenHeader() { +fun NoticeScreenHeader( + title:String +) { Row( modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, ) { Image( painter = painterResource(id = R.drawable.rider_pro_nav_back), - contentDescription = "Likes", + contentDescription = title, modifier = Modifier.size(16.dp) ) Spacer(modifier = Modifier.size(12.dp)) - Text("Comments", fontWeight = FontWeight.Bold, fontSize = 17.sp) + Text(title, fontWeight = FontWeight.Bold, fontSize = 17.sp) Spacer(modifier = Modifier.weight(1f)) Image( painter = painterResource(id = R.drawable.rider_pro_more_horizon), diff --git a/app/src/main/java/com/aiosman/riderpro/LikePage.kt b/app/src/main/java/com/aiosman/riderpro/LikePage.kt new file mode 100644 index 0000000..11dd3c2 --- /dev/null +++ b/app/src/main/java/com/aiosman/riderpro/LikePage.kt @@ -0,0 +1,94 @@ +package com.aiosman.riderpro + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +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.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +@Preview +@Composable +fun LikePage() { + Column( + modifier = Modifier + .fillMaxSize() + .background(color = Color(0xFFFFFFFF)) + .padding(16.dp) + ) { + NoticeScreenHeader("LIKES") + Spacer(modifier = Modifier.height(28.dp)) + LazyColumn( + modifier = Modifier.weight(1f) + ) { + item { + repeat(20) { + LikeItem() + } + } + + } + } +} + + +@Composable +fun LikeItem() { + Box( + modifier = Modifier.padding(horizontal = 24.dp, vertical = 16.dp) + ) { + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + ) { + Image( + painter = painterResource(id = R.drawable.default_avatar), + contentDescription = "Like", + modifier = Modifier.size(40.dp) + ) + Spacer(modifier = Modifier.width(12.dp)) + Column( + modifier = Modifier.weight(1f) + ) { + Text("Username", fontWeight = FontWeight.Bold, fontSize = 16.sp) + Spacer(modifier = Modifier.height(5.dp)) + Text("Username", fontSize = 12.sp, color = Color(0x99000000)) + } + Box { + Image( + painter = painterResource(id = R.drawable.follow_bg), + contentDescription = "Like", + modifier = Modifier + .width(79.dp) + .height(24.dp) + ) + Text( + "FOLLOW", + fontSize = 14.sp, + color = Color(0xFFFFFFFF), + modifier = Modifier.align( + Alignment.Center + ) + ) + } + + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/aiosman/riderpro/MainActivity.kt b/app/src/main/java/com/aiosman/riderpro/MainActivity.kt index f3f2f08..ab1491c 100644 --- a/app/src/main/java/com/aiosman/riderpro/MainActivity.kt +++ b/app/src/main/java/com/aiosman/riderpro/MainActivity.kt @@ -111,6 +111,9 @@ fun NavigationController(navController: NavHostController) { composable(route="Comments") { CommentsScreen() } + composable(route="Likes") { + LikePage() + } } } diff --git a/app/src/main/java/com/aiosman/riderpro/MessageList.kt b/app/src/main/java/com/aiosman/riderpro/MessageList.kt index e7033ae..77f99a1 100644 --- a/app/src/main/java/com/aiosman/riderpro/MessageList.kt +++ b/app/src/main/java/com/aiosman/riderpro/MessageList.kt @@ -55,7 +55,7 @@ fun NotificationsScreen() { horizontalArrangement = Arrangement.SpaceBetween, ) { NotificationIndicator(10, R.drawable.rider_pro_like, "LIKE") { - + navController.navigate("Likes") } NotificationIndicator(10, R.drawable.rider_pro_followers, "FOLLOWERS"){