当前位置: 首页> 健康> 知识 > 哈尔滨网站建设技术托管_南宁云尚网络_小黄豆crm_今日热榜官网

哈尔滨网站建设技术托管_南宁云尚网络_小黄豆crm_今日热榜官网

时间:2025/7/30 11:30:29来源:https://blog.csdn.net/m0_46778548/article/details/146463321 浏览次数:0次
哈尔滨网站建设技术托管_南宁云尚网络_小黄豆crm_今日热榜官网

这里写目录标题

  • 介绍
  • 主体
  • 解释

介绍

实现选项卡控件
在这里插入图片描述

主体

import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Tab
import androidx.compose.material3.TabRow
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp// 定义一个 Composable 函数,用于创建带有选项卡的布局
@Composable
fun TabLayoutExample() {// 使用 remember 来记住可变状态,selectedTabIndex 表示当前选中的选项卡索引var selectedTabIndex by remember { mutableStateOf(0) }// 定义选项卡的标题列表val tabTitles = listOf("选项卡 1", "选项卡 2")// 使用 Column 布局将选项卡和内容垂直排列Column(// 让 Column 填充整个可用空间modifier = Modifier.fillMaxSize()) {// 创建一个 TabRow 用于显示选项卡TabRow(// 指定当前选中的选项卡索引selectedTabIndex = selectedTabIndex// 指定文字颜色contentColor = Color.White,// 指定背景颜色containerColor = Color(0xFF4F4F4F),) {// 遍历选项卡标题列表tabTitles.forEachIndexed { index, title ->// 创建一个 Tab 组件Tab(// 设置选项卡的文本内容text = { Text(title) },// 判断当前选项卡是否被选中selected = selectedTabIndex == index,// 当选项卡被点击时,更新 selectedTabIndex 的值onClick = { selectedTabIndex = index })}}// 根据选中的选项卡索引显示不同的内容when (selectedTabIndex) {0 -> ContentForTab1()1 -> ContentForTab2()}}
}// 定义一个 Composable 函数,用于显示选项卡 1 的内容
@Composable
fun ContentForTab1() {// 使用 Column 布局将内容垂直排列Column(// 让 Column 填充整个可用空间,并添加内边距modifier = Modifier.fillMaxSize().padding(16.dp),// 设置垂直排列方式为居中verticalArrangement = Arrangement.Center,// 设置水平排列方式为居中horizontalAlignment = Alignment.CenterHorizontally) {// 显示文本内容Text("这是选项卡 1 的内容")}
}// 定义一个 Composable 函数,用于显示选项卡 2 的内容
@Composable
fun ContentForTab2() {// 使用 Column 布局将内容垂直排列Column(// 让 Column 填充整个可用空间,并添加内边距modifier = Modifier.fillMaxSize().padding(16.dp),// 设置垂直排列方式为居中verticalArrangement = Arrangement.Center,// 设置水平排列方式为居中horizontalAlignment = Alignment.CenterHorizontally) {// 显示文本内容Text("这是选项卡 2 的内容")}
}    

解释

  1. TabLayoutExample 函数:

该函数是整个布局的核心,用于创建带有选项卡的界面。
selectedTabIndex 用于记录当前选中的选项卡索引,初始值为 0。
tabTitles 是一个包含选项卡标题的列表。
Column 用于将选项卡和内容垂直排列。
TabRow 用于显示选项卡,其中的 Tab 组件根据 selectedTabIndex 来判断是否选中,并在点击时更新 selectedTabIndex
when 语句根据 selectedTabIndex 的值显示不同的内容。

  1. ContentForTab1ContentForTab2 函数:

这两个函数分别用于显示选项卡 1 和选项卡 2 的内容。
它们都使用 Column 布局将内容垂直居中显示,并添加了内边距。
内容为简单的文本信息。
通过这种方式,你可以实现一个简单的选项卡布局,点击不同的选项卡可以显示不同的内容。

关键字:哈尔滨网站建设技术托管_南宁云尚网络_小黄豆crm_今日热榜官网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: