android compose利用pager写一个引导页

本文来自bitCoder的视频翻译,原视频请观看哔哩哔哩上博主BitCoder的Jectpack Compose 引导页案例一
效果图:
在这里插入图片描述

gradle配置:


//pager库
    implementation("com.google.accompanist:accompanist-pager:0.24.12-rc")

实现代码

package com.example.androidcomposetest.pages

import androidx.compose.animation.core.Spring
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.spring
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowForward
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你一个简单的Compose App示例。这个App将显示一个列表,列表中有一些简单的文本项。你可以点击其中的任何一项,在屏幕底部显示相应的文本。 首先,在build.gradle文件中,添加以下依赖项: ``` dependencies { implementation "androidx.compose.ui:ui:1.0.1" implementation "androidx.compose.material:material:1.0.1" implementation "androidx.compose.runtime:runtime-livedata:1.0.1" implementation "androidx.activity:activity-compose:1.3.0-alpha07" } ``` 然后,创建一个MainActivity类,将其声明为一个@AndroidEntryPoint类,以便使用Compose: ``` @AndroidEntryPoint class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MyList() } } } ``` 现在,我们可以创建MyList组件,它将显示我们的项目列表。对于这个例子,我们将硬编码一些文本项,但在实际应用中,你可以使用一个ViewModel从网络或本地数据库中获取数据。 ``` @Composable fun MyList() { val items = listOf( "Item 1", "Item 2", "Item 3", "Item 4", "Item 5", ) Column(modifier = Modifier.fillMaxSize()) { items.forEach { item -> ListItem(item = item) } } } ``` 接下来,我们创建一个ListItem组件,它将显示每个项目。当用户点击任何一个项目时,我们将使用LiveData在屏幕底部更新相应的文本。 ``` @Composable fun ListItem(item: String) { val selectedItem = remember { mutableStateOf("") } Text( text = item, modifier = Modifier .padding(16.dp) .clickable { selectedItem.value = item } ) if (selectedItem.value == item) { Text( text = "You selected $item", modifier = Modifier .padding(16.dp) .align(Alignment.BottomStart) ) } } ``` 最后,在MainActivity中,我们使用setContent { }将MyList组件设置为内容。 这样,我们就完成了一个简单的Compose App,可以显示项目列表,并在用户点击任何一个项目时,在屏幕底部显示相应的文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值