Compose - 容器组合项

一、弹窗 Dialog

var showDialog by remember { mutableStateOf(false) }
Column {Button(onClick = { showDialog = !showDialog }) {Text(text = "点击弹窗")}if (showDialog) {Dialog(onDismissRequest = { showDialog = false }, //消失回调properties = DialogProperties(dismissOnBackPress = true,  //消失响应返回键dismissOnClickOutside = true,   //消失响应外围点击securePolicy = SecureFlagPolicy.Inherit,    //是否可以被截屏(Inherit跟随父元素、SecureOn禁止、SecureOff允许))) {Box(modifier = Modifier.size(100.dp).background(Color.Red))}}
}

二、对话框 AlertDialog

var showDialog by remember { mutableStateOf(false) }
Column {Button(onClick = { showDialog = !showDialog }) {Text(text = "点击弹窗")}if (showDialog) {AlertDialog(modifier = Modifier,//确认按钮confirmButton = { TextButton(onClick = { showDialog = false }) { Text(text = "确认") } },//取消按钮dismissButton = { TextButton(onClick = { showDialog = false }) { Text(text = "取消") } },//图标icon = { Icon(imageVector = Icons.Default.Home, contentDescription = null) },iconContentColor = Color.Magenta,//标题title = { Text(text = "标题") },titleContentColor = Color.Red,//内容text = { Text(text = "内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容") },textContentColor = Color.Blue,//背景shape = RoundedCornerShape(5.dp),containerColor = Color.Yellow,tonalElevation = 10.dp,//配置properties = DialogProperties(dismissOnBackPress = true,  //消失响应返回键dismissOnClickOutside = true,   //消失响应外围点击securePolicy = SecureFlagPolicy.Inherit,//是否可以被截屏(Inherit跟随父元素、SecureOn禁止、SecureOff允许)),//消失回调onDismissRequest = {showDialog = false})}
}

三、选项卡 TabRow

var selectedIndex by remember { mutableStateOf(0) }
TabRow(modifier = Modifier,selectedTabIndex = selectedIndex,    //选中的索引containerColor = Color.Green, //背景色contentColor = Color.Yellow, //内容色(子Tab设置未选中颜色会覆盖这个)indicator = {},  //设置指示器divider = {}    //设置分割线
) {//图片和文字是横向的LeadingIconTab(modifier = Modifier,selected = selectedIndex == 0,  //是否选中onClick = { selectedIndex = 0 },    //点击监听text = { Text(text = "选项0") },  //选项文字icon = { Icon( imageVector = Icons.Default.AccountBox, contentDescription = null ) },   //选项图片enabled = true, //是否启用selectedContentColor = Color.Red,    //选中颜色unselectedContentColor = Color.Blue, //未选中颜色)//图片和文字是纵向的Tab(modifier = Modifier,selected = selectedIndex == 1,  //是否选中onClick = { selectedIndex = 1 },    //点击监听text = { Text(text = "选项1") },    //选项文字icon = { Icon( imageVector = Icons.Default.AccountBox, contentDescription = null ) },   //选项图片enabled = true, //是否启用selectedContentColor = Color.Red,    //选中颜色unselectedContentColor = Color.Blue, //未选中颜色)
}

四、可滑动选项卡 ScrollableTabRow

val dataList = listOf("热点", "世界杯", "数码科技", "英雄联盟", "视频", "在线直播", "娱乐圈")
var selectedIndex by remember { mutableStateOf(0) }
ScrollableTabRow(modifier = Modifier,selectedTabIndex = selectedIndex,    //选中的索引containerColor = Color.Green, //背景色contentColor = Color.Yellow, //内容色(子Tab设置未选中颜色会覆盖这个)indicator = {},  //设置指示器divider = {}    //设置分割线
) {dataList.onEachIndexed { index, str ->Tab(selected = selectedIndex == index,  //是否选中text = { Text(text = dataList[index]) },    //选项文字onClick = { selectedIndex = index },    //点击监听selectedContentColor = Color.Red,    //选中颜色unselectedContentColor = Color.Blue, //未选中颜色)}
}

五、卡片 Card

Card(modifier = Modifier,shape = CircleShape,colors = CardDefaults.cardColors(),elevation = CardDefaults.cardElevation(),border = BorderStroke(width = 1.dp, color = Color.Red),
) {//子元素
}

六、下拉菜单 DropdownMenu

本身不会占用布局中的空间,是在一个单独的窗口中显示的,在其他内容之上。

 

var expandedState by remember { mutableStateOf(false) }
Column {Button(onClick = { expandedState = !expandedState }) {Text(text = "点击打开")}DropdownMenu(modifier = Modifier,expanded = expandedState,  //是否展开offset = DpOffset(10.dp, 10.dp),    //展开菜单的偏移量properties = PopupProperties(focusable = true,   //是否聚焦dismissOnBackPress = true,  //消失响应返回键dismissOnClickOutside = true,   //消失响应外围点击securePolicy = SecureFlagPolicy.SecureOn    //是否可以被截屏(Inherit跟随父元素、SecureOn禁止、SecureOff允许)),onDismissRequest = {    //消失回调expandedState = false}) {DropdownMenuItem(modifier = Modifier,text = { Text(text = "苹果") },leadingIcon = { Icon(imageVector = Icons.Default.Home, contentDescription = null) },   //左侧图标trailingIcon = { Icon(imageVector = Icons.Default.Email, contentDescription = null) },  //右侧图标enabled = true, //是否启用colors = MenuDefaults.itemColors(),contentPadding = PaddingValues(5.dp),onClick = { /*TODO*/ }  //点击事件)DropdownMenuItem(text = { Text(text = "桔子") }, onClick = {  })DropdownMenuItem(text = { Text(text = "香蕉") }, onClick = {  })}
}

七、平面 Surface

Surface(modifier = Modifier.size(50.dp).padding(5.dp),shape = RectangleShape, //形状(RectangleShape矩形、CircleShape圆形、RoundedCornerShape圆角、CutCornerShape切角)color = Color.Red,  //背景色(默认是主题中的surface颜色)contentColor = Color.Blue,  //内容主色tonalElevation = 0.dp,  //当color=ColorScheme.surface时,值越大,浅色主题越深,深色主题越浅shadowElevation = 0.dp, //阴影大小border = BorderStroke(width = 1.dp, color = Color.Black),   //边框粗细和颜色
) {//子元素
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1618054.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习策略——优化深度学习系统

正交化(Orthogonalization) 老式电视机,有很多旋钮可以用来调整图像的各种性质,对于这些旧式电视,可能有一个旋钮用来调图像垂直方向的高度,另外有一个旋钮用来调图像宽度,也许还有一个旋钮用来…

代理模型

代理模型 仿真计算时不使用流体力学、固体力学的知识进行有限元、有限体积仿真,而是通过事先的训练数据(输入与输出)建立起代理模型(黑匣子),给定代理模型输入则会得到输出。 最重用的代理模型有多项式响…

Tableau可视化入门实践-1

目录 Tableau 介绍基础统计图形条形图堆积图直方图饼图环形图 Tableau 介绍 Tableau是一款功能强大的数据可视化和业务智能工具,被广泛应用于各行各业的数据分析和决策支持领域。 Tableau提供了直观友好的用户界面,无需编程和复杂的数据处理技能&#x…

互联网之子:亚伦·斯沃茨

介绍一部人物纪录片——互联网之子。 讲述亚伦斯沃茨 的短暂但是辉煌的一生。 主角介绍 亚伦斯沃茨,1986118-2013111,程序员、作家、政治组织策划人和积极行动主义者。他年仅14岁就参与创造RSS 1.0规格,在程式设计圈当中声名大噪…

威尔克姆教程:他他米的偏移系数及分割线

他他米的偏移系数及分割线 他他米的条纹有向左和向右两个方向 他他米偏移系数只能在0到1之间调,他又以0.5为中心。0.5以下条纹是向左的,0.5以上条纹是向右的 例如: 条纹是向左的,偏移系数是A:0.25 B:0.25 条纹是向右的,偏移系数…

威尔克姆绣花软件wilcome2.0t怎么安装教程?及解压密码获取

威尔克姆E2.0T怎么安装?威尔克姆是国际使用最广泛的绣花软件,E2.0T版本是在2013年是时候推出的版本,收到广大绣花制版师的欢迎,本文就给大家介绍一下软件的安装方法,本方法适用于xp win7 win8 win10,32位和…

威尔克姆 E2.0T系统驱动装不了

威尔克姆E2T安装第二个驱动时无响应? 往下看​​​ 左键双击这里 输入cmd 右键单击cmd后,点击以管理员身份运行 点击文件管理上方的倒三角查看第二步驱动安装包所在的路径在哪个盘............ 我的是在D盘 在命令提示符cmd中输入 d: 后&#xf…

PCI设备和PCI桥的配置空间(header_type0、header_type1)和配置命令(type0、type1)详解

1、PCI典型拓扑 2、type0和type1 名称含义Bus Number设备所在总线号Device Number设备分配到的设备号Function Number功能号,有的设备是支持多个功能的,最多8种功能Register Number要访问的寄存器地址 (1)type0和type1的区别:AD[1:0]是00代表…

她是计算机系公认的系花 却只喜欢打游戏,我选择了计算机专业,自以为自己不是系花就是班花,结果扎心了...

我叫曾小晓,今年大一了,选择了男生居多的计算机专业,一是想着这样很有利于选男友,二是幻想被班里的男生宠幸的感觉!然后理所当然的成为系花、或是班花!结果却让我扎心了!想法总是美好的&#xf…

乱码的解决_小晓_同学__新浪博客

乱码问题的由来: 1.浏览器发送以本机平台字符编码的中文数据(GB2312).例如中文字符 "中"->(0xd6d0); 2.如果在web容器中接受数据时没有指定编码,web容器使用默认编码ISO-8859-1得到数据,由于0xd6d0在ISO-8859-1中找不到对应字符,所以显示乱码. 以post在接受数据之…

高中小白零基础速变大神,零基础菜鸟应该怎么学编程?

最近有很多人问小晓,该怎么学习编程?对编程虽然兴趣很大,但是不知道该从哪里下手,这是个庞大到所有大神们“无言以对”的命名题,小晓特意和自己的编程同伴们进行了探讨,就其中一些问题今天给大家做出解答! 决定学,要有兴趣并且是真正的下定决心 兴趣和耐心是老生常谈的…

小晓机器人标准版强势来袭,AI赋能中小企业客服新时代

互联网时代的高速发展,催生了大量客服需求。随着客户的消费习惯和对服务需求的改变,越来越多的企业开始尝试在网站、微信、APP等多渠道接入客服,这也对客服人员的管理提出了更高要求。与此同时,传统的人工客服正长期面临着&#x…

【软件测试】一名医院的护士,带着梦追逐诗和远方,拿下测试岗14K......

前言:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 小晓:…

壳聚糖基原位水凝胶包载角膜缘干细胞/纳米壳聚糖骨形态发生蛋白水凝胶的研究制备

今天小编给大家分享的内容是壳聚糖基原位水凝胶包载角膜缘干细胞/纳米壳聚糖骨形态发生蛋白水凝胶的研究制备,一起来看看吧! 壳聚糖基原位水凝胶包载角膜缘干细胞制备方法: 用不同浓度的高碘酸钠分别将海藻酸钠氧化,制备成不同氧化度的氧化海…

石墨烯量子点/聚吡咯/金纳米粒子/聚乙烯醇复合纳米薄膜/聚吡咯/介孔二氧化硅/石墨烯量子点纳米制备应用

小编今天分享给大家的科研内容是石墨烯量子点/聚吡咯/金纳米粒子/聚乙烯醇复合纳米薄膜/聚吡咯/介孔二氧化硅/石墨烯量子点纳米复合材料的相关研究,来看! 石墨烯量子点/聚吡咯/金纳米粒子/聚乙烯醇复合纳米薄膜的制备应用: 先将聚吡咯包覆石墨…

钡铁氧体/石墨烯/二氧化硅柔性复合微球/石墨烯/二氧化硅双杂化壁材修饰聚苯乙烯微球的性能

下面整理了钡铁氧体/石墨烯/二氧化硅柔性复合微球/石墨烯/二氧化硅双杂化壁材修饰聚苯乙烯微球的性能分析,和小编来看! 钡铁氧体/石墨烯/二氧化硅柔性复合微球的性能测试: 用溶胶-凝胶法制备Z型钡铁氧体,将还原氧化石墨烯与Z型铁氧体复合制得…

C语言基础之——指针(下)

前言:本篇文章将继续讲解有关指针的剩余基础知识。 学无止境,一起加油叭!! 目录 一.指针运算 1.指针 - 整数 2.指针的关系运算 3.指针 - 指针 二.指针与数组 三.二级指针 四.指针数组 总结 一.指针运算 指针运算包括以下三…

路由器密码破解记

2019独角兽企业重金招聘Python工程师标准>>> 前言:寝室的路由器一直被徐**同志控制着,不知道密码,有时要开放一台电脑供外网访问,或者要弄端口映射等很不方便,于是我策划了一次路由器密码破解计划。 首先&a…

关于破解路由器密码

http://daily.zhihu.com/story/3603866?utm_campaignin_app_share&utm_mediumAndroid 先看看上面的那个文章 ------------ Evi1m0大牛破解了路由器的连接密码之后,又破解了路由器的管理登陆密码,这个过程就是一笔带过,在这里详细的说一下…