Jetpack:006-如何使用输入框

news2024/11/25 20:15:44

文章目录

  • 1. 概念介绍
  • 2. 使用方法
    • 2.1 TextField
    • 2.2 OutlinedTextField
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了Jetpack中文本组件扩展相关的内容,本章回中主要介绍输入框组件。闲话休提,让我们一起Talk Android Jetpack吧!

1. 概念介绍

我们在本章回中介绍的输入框是指接收文本输入的窗口,最常见的使用场景就是在登录页面中输入用户名和密码。Jetpack compose提供了TextField可组合函数和OutlinedTextField可组合函数来实现输入框,本章回中介绍详细介绍这两个函数的使用方法。

2. 使用方法

2.1 TextField

可组合函数TextField提供了很多参数来控制自己,下面我们将介绍该函数中常用的参数,详细如下:

  • label参数:用来显示名称,表示输入框的功能;
  • value参数:输入框中显示的内容,可以填入默认值;
  • onValueChange参数:它是方法类型,输入内容时回调用此方法;
  • leadingIcon参数:在输入框最左侧显示的图标;
  • trailingIcon参数:在输入框最右侧显示的图标;

上面介绍的这些属性中,前三个属性属于必备的内容,后面两个属性属性装饰性的内容,它可以装饰输入框,让输入框显得更加漂亮。

2.2 OutlinedTextField

可组合函数OutlinedTextField和TextField类似,不同之处在于它会在输入框外侧生成一个边框。这两个函数的参数都一样,我们就不详细介绍了,这里只介绍一个参数colors,通过该参数可以修改输入框自带的边框颜色,以及输入框内的背景和文本的颜色,我们将在后面的小节中通过示例代码来演示具体的修改方法。

3. 示例代码

//带下划线的输入框,不过我在外层加了一层边框
TextField(
    modifier = Modifier
        .fillMaxWidth()
        .padding(16.dp)
        .border(
            width = 2.dp,
            color = Color.Green,
            shape = CircleShape.copy(all = CornerSize(16.dp))
        )
        .clip(shape = CircleShape.copy(all = CornerSize(16.dp)))
        .background(Color.Yellow),
    value = text,
    //默认为false,设置为true时,label和supportText显示为红色
//            isError = true,
    //获取输入的内容
    onValueChange = { text = it },
    placeholder = { Text("pls holder") },
    //开始和结束时的图标
    leadingIcon = { Icon(imageVector = Icons.Default.Person, contentDescription = null)},
    trailingIcon = { Icon(imageVector = Icons.Filled.Notifications, contentDescription = null)},
    //在输入框下方显示的文字
    supportingText = { Text("supporting text ") },
    //在图标后面显示的文字
    label = { Text("Name") },
)

//不带下划线的输入框,不过周围有一圈边框
OutlinedTextField(
    modifier = Modifier
        .fillMaxWidth()
        .padding(16.dp),
    value = text,
    onValueChange = {},
    label = { Text("Name") },
    colors = TextFieldDefaults.outlinedTextFieldColors(
        //修改输入框背景色
        containerColor = Color.Yellow,
        //修改边框颜色
        unfocusedBorderColor = Color.Green,
        focusedBorderColor = Color.Blue,
    ),
)

我们在上面的代码中演示了两种可组合函数的代码,并且在关键位置添加了注释,下面是程序的运行效果图,请大家参考:
在这里插入图片描述

4. 内容总结

最后,我们对本章回中的内容做一个总结:

  • 输入框可以通过可组合函数TextField和OutlinedTextField实现;
  • 两个可组合函数的参数相同,不同之处在于输入框的样式:周围是否有边框;
  • lable参数用来表明输入框的功能,value参数用来存放输入框中显示的内容;
  • onValueChang参数在输入内容时回调,通常使用它来获取输入框中输入的内容;
  • 其它的参数都是用来装饰输入框的,比如边框的颜色,提示内容,边框中的图标等;

看官们,关于Jetpack中输入框组件相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

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

相关文章

C++笔记--基于C++实现NMS算法

1--完整代码 // g nms.cpp -stdc11 -o nms_test // ./nms_test#include <iostream> #include <vector> #include <algorithm>// 锚框结构体 struct BoundingBox{float x, y, width, height, score; };class NMS{ public:NMS(){};// 非极大值抑制函数std::ve…

华为云云耀云服务器L实例评测|华为云耀云服务器L实例私有库搭建verdaccio(八)

九、华为云耀云服务器L实例私有库搭建verdaccio&#xff1a; Verdaccio 是一个简单的、零配置本地私有 npm 软件包代理注册表。Verdaccio 开箱即用&#xff0c;拥有自己的小型数据库&#xff0c;能够代理其它注册表&#xff08;例如 npmjs.org&#xff09;&#xff0c;缓存下载…

Linux桌面环境(桌面系统)

早期的 Linux 系统都是不带界面的&#xff0c;只能通过命令来管理&#xff0c;比如运行程序、编辑文档、删除文件等。所以&#xff0c;要想熟练使用 Linux&#xff0c;就必须记忆很多命令。 后来随着 Windows 的普及&#xff0c;计算机界面变得越来越漂亮&#xff0c;点点鼠标…

接口测试文档

接口测试的总结文档 第一部分&#xff1a;主要从问题出发&#xff0c;引入接口测试的相关内容并与前端测试进行简单对比&#xff0c;总结两者之前的区别与联系。但该部分只交代了怎么做和如何做&#xff1f;并没有解释为什么要做&#xff1f; 第二部分&#xff1a;主要介绍为什…

企业云盘推荐:哪个更适合您的需求?

企业云盘因其便捷易用的特点&#xff0c;已成为现代企业办公的热门工具之一。 首先&#xff0c;企业云盘提供了可靠的数据存储。与传统的本地存储方式相比&#xff0c;企业云盘将数据存储在云服务器上&#xff0c;具有强大的数据冗余和备份机制&#xff0c;确保数据的安全性和…

【专题】并查集判断冲突

&#xff08;1&#xff09;题目 P1955 [NOI2015] 程序自动分析 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) &#xff08;2&#xff09;解决思路 先排序&#xff0c;把所有e1的操作放在前面&#xff0c;然后再进行e0的操作。在进行e1的操作的时候&#xff0c;我们只要把它…

笔试、面试总结(网络安全与渗透测试)

什么是同源策略&#xff1f; 为了防止不同域在用户浏览器中彼此干扰&#xff0c;浏览器对从不同来源&#xff08;域&#xff09;收到的内容进行隔离。浏览器不允许任何旧有脚本访问一个站点的 cookie&#xff0c;否则 &#xff0c;会话容易被劫持。只有发布 cookie 的站点能够…

用servlet实现一个简单的猜数字游戏。

需要两个页面&#xff0c;一个jsp页面&#xff08;guess.jsp&#xff09;和servlet页面&#xff08;servlet&#xff09;。 一.jsp页面 在jsp页面中需要实现&#xff1a; 1.创建随机数并且保存在session中。 2.做个form表单提交猜的数字给servlet页面。 <%page import&…

电提示找不到api-ms-win-crt-runtime-l1-1-0.dll怎么办,分享快速解决办法

如果在电脑中提示api-ms-win-crt-runtime-l1-1-0.dll找不到或丢失的情况&#xff0c;大家可以来看看这篇文章&#xff0c;能够快速解决api-ms-win-crt-runtime-l1-1-0.dll丢失的问题&#xff0c;一起来看看都有什么办法解决吧。 一&#xff0e;api-ms-win-crt-runtime-l1-1-0.d…

判断多个多边形是否连通(方法一:原理)

重点&#xff1a; 1.将多边形一个一个拎出来判断&#xff0c;以1为开始&#xff0c;后续如果连接&#xff0c;就加入序列&#xff0c;以2开始判断&#xff0c;以此为序。

Python 机器学习入门之逻辑回归

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 逻辑回归 系列文章目录前言一、逻辑回归简介二、逻辑回归推导1、问题2、Sigmoid函数3、目标函数3.1 让…

【C语言】对文件的输入输出

&#x1f497;个人主页&#x1f497; ⭐个人专栏——C语言初步学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读1. 什么是文件1.1 程序文件1.2 数据文件1.3 数据流1.4 文件名 2. 文件的分类3. 文件缓冲区4. 文件的打开和关闭4.1 文…

IDEA插件推荐:TabColor

国庆假期&#xff0c;闲来无事&#xff0c;笔者自己开发了一个简易的IDEA插件。 TabColor 这是一个IDEA插件。通过改变核心Tab的颜色&#xff0c;将开发者从一堆Tab的迷茫中解放&#xff01; 安装 IDEA插件安装界面&#xff0c;搜索TabColor&#xff0c;进行安装。从浏览器下…

最详细STM32,cubeMX 点亮 led

这篇文章将详细介绍 如何在 stm32103 板子上点亮一个LED. 文章目录 前言一、开发环境搭建。二、LED 原理图解读三、什么是 GPIO四、cubeMX 配置工程五、解读 cubeMX 生成的代码六、延时函数七、控制引脚状态函数点亮 LED 八、GPIO 的工作模式九、为什么使用推挽输出驱动 LED总结…

云上攻防-云原生篇Docker安全权限环境检测容器逃逸特权模式危险挂载

文章目录 前言1、Docker是干嘛的&#xff1f;2、Docker对于渗透测试影响&#xff1f;3、Docker渗透测试点有那些&#xff1f;4、前渗透-判断在Docker中方式一&#xff1a;查询cgroup信息方式二&#xff1a;检查/.dockerenv文件方式三&#xff1a;检查mount信息方式四&#xff1…

NSDT编辑器实现数字孪生

数字孪生的强大功能来自于将真实世界的资产与真实世界的数据联系起来&#xff0c;因此您可以更好地可视化它们。数字孪生使跨职能团队能够以交互式和沉浸式方式协作设计、构建、测试、部署和操作复杂系统。 如何创建数字孪生&#xff1f; 数字孪生是通过导入概念模型&#xf…

C++学习——对象的内存模型

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 对象被创建时会在栈区或者堆区分配内存。我们直观的认识是&#xff0c;如果创建了 10 个对象&#xff0c;就要分别为这 10 个对象的成员变量和成员函数分配内存&#xff0c;如下图所示…

Realm violation Datapatch 禁用DBV database vault

Datapatch failed with the error ORA-47410: Realm violation for CREATE ROLE (Doc ID 2306010.1)​编辑To Bottom APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.2 and later Oracle Database Cloud Schema Service - Version N/A and later Oracle…

使用LLM在KG上进行复杂的逻辑推理10.12+10.13

使用LLM在KG上进行复杂的逻辑推理 摘要介绍相关工作方法问题格式化邻域检索和逻辑链分解链状推理提示实施细节 摘要 在知识图谱上进行推理是一项具有挑战性的任务&#xff0c;这需要深度理解实体之间复杂的关系和它们关系的逻辑。而当前的方法通常依赖于学习 几何形状 以将实体…

5+非肿瘤分析,分型+WGCNA+机器学习筛选相关基因

今天给同学们分享一篇非肿瘤分型机器学习WGCNA实验的生信文章“Identification of diagnostic markers related to oxidative stress and inflammatory response in diabetic kidney disease by machine learning algorithms: Evidence from human transcriptomic data and mou…