android compose BottomNavigation(底部) 使用

android compose BottomNavigation(底部) 使用

复制代码
/**
 * Author : wn
 * Email : maoning20080809@163.com
 * Date : 2026/1/3 13:06
 * Description : BottomNavigation 底部导航栏
 */
class BottomNavigationActivity : ComponentActivity(){

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            testBottomNavigation()
        }
    }

    @Preview
    @Composable
    private fun testBottomNavigation(){
        //要添加Composable,导入:import androidx.compose.runtime.getValue和import androidx.compose.runtime.setValue
        var selectedItem by remember { mutableStateOf(0) }
        val items = listOf<String>("Home", "Search", "Profile")
        val icons = listOf(Icons.Default.Home, Icons.Default.Search, Icons.Default.Person)

        Scaffold(bottomBar = {
            NavigationBar() {
                items.forEachIndexed {index, item ->
                    NavigationBarItem(
                        icon = {Icon(icons[index], contentDescription = item)},
                        label = {Text(item)},
                        selected = selectedItem == index,
                        onClick = {selectedItem = index }
                    )
                }
            }
        }) {
            when(selectedItem){
                0 -> testHome()
                1 -> testSearch()
                2 -> testProfile()
            }
        }
    }

    @Composable
    private fun testHome(){
        Text(text = "Home 页面")
    }

    @Composable
    private fun testSearch(){
        Text(text = "Search 页面", fontSize = 30.sp, color = Color.Red)
    }

    @Composable
    private fun testProfile(){
        Text(text = "Profile 页面", fontSize = 30.sp, color = Color.Blue)
    }

}
相关推荐
程序员Android6 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才7 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶7 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle
汪海游龙8 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github
qq_283720059 小时前
MySQL技巧(四): EXPLAIN 关键参数详细解释
android·adb
蹦哒9 小时前
Kotlin 与 Java 语法差异
java·python·kotlin
没有了遇见9 小时前
Android 架构之网络框架多域名配置<三>
android
myloveasuka11 小时前
[Java]单列集合
android·java·开发语言
fundroid11 小时前
Room 3.0 完全解析:一次面向未来的现代化重构
android·数据库·database·kmp
漂洋过海来看你啊11 小时前
Jetpack Compose高效列表实战:状态管理与性能优化指南
android