Android Compose 下拉选择框 ExposedDropdownMenu下拉选择

2024-08-24 19:04

本文主要是介绍Android Compose 下拉选择框 ExposedDropdownMenu下拉选择,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*** @author   创建人:蒙石瑞* @date     创建时间:2024/8/23 10:57* @Description    创建内容:下拉选择框*/
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun CustomExposedDropdownMenu(options: List<out DropdownMenuDes>,labelStr: String,onSelect: (DropdownMenuDes) -> Unit
) {var expanded by remember {mutableStateOf(false)}var selectedOptionText by remember { mutableStateOf("") }ExposedDropdownMenuBox(expanded = expanded,onExpandedChange = {expanded = !expanded},) {CustomOutlinedTextField(value = selectedOptionText,onValueChange = { selectedOptionText = it },trailingIcon = {ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded)},label = { Text(labelStr) },singleLine = true,colors = OutlinedTextFieldDefaults.colors(focusedBorderColor = Color.Blue,unfocusedBorderColor = Color.White,cursorColor = Color.Black,focusedContainerColor = Color.White,unfocusedContainerColor = Color.White,focusedLabelColor = Color.Blue,disabledLabelColor = Color.Black),modifier = Modifier.width(120.dp).height(50.dp).menuAnchor(),readOnly = true,contentPadding = PaddingValues(start = 5.dp, end = 2.dp),)ExposedDropdownMenu(expanded = expanded,onDismissRequest = { expanded = false },modifier = Modifier.heightIn(max = 250.dp)) {options.forEach { option ->DropdownMenuItem(text = { Text(option.showName) }, onClick = {selectedOptionText = option.showNameexpanded = falseonSelect(option)})}}}
}

使用

abstract class DropdownMenuDes(val showName: String, val showId: String)val tempShow = listOf(DropdownMenuInfo("one", "xxxx"),DropdownMenuInfo("2222", "xxxx"),DropdownMenuInfo("33333", "xxxx"),DropdownMenuInfo("4444", "xxxx"),DropdownMenuInfo("5555", "xxxx"),DropdownMenuInfo("666", "xxxx"),DropdownMenuInfo("777", "xxxx"),DropdownMenuInfo("999", "xxxx"),DropdownMenuInfo("1010", "xxxx"))Row {CustomExposedDropdownMenu(tempShow, "垛位") { item ->ToastUtil.showToast(item.showName)}}

这篇关于Android Compose 下拉选择框 ExposedDropdownMenu下拉选择的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103332

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo