Jetpack Compose——TextField及OutlinedTextField(文本框)的使用

TextField的构造

@Composable
fun TextField(
    //输入的文本内容
    value: String,
    //更新文本触发回调,类似EditText中addTextChangedListener
    onValueChange: (String) -> Unit,
    //样式
    modifier: Modifier = Modifier,
    //控制TextField的启用状态,false:文本字段不可编辑不可聚焦
    enabled: Boolean = true,
    //控制TextField的可编辑状态
    readOnly: Boolean = false,
    //文字样式,类型为TextStyle
    textStyle: TextStyle = LocalTextStyle.current,
    //文本字段容器中显示的可选标签
    label: @Composable (() -> Unit)? = null,
    //占位符,TextView中配置的hint属性一样,需要注意的是如何和label一起使用,会被覆盖效果,只有获取焦点时候才会被显示出来
    placeholder: @Composable (() -> Unit)? = null,
    //前导图标,文本前的图标
    leadingIcon: @Composable (() -> Unit)? = null,
    //尾随图标,文本后的图标
    trailingIcon: @Composable (() -> Unit)? = null,
    //当前值是否错误
    isError: Boolean = false,
    //视觉转换,类似EditText中的inputType,实现VisualTransformation该接口来实现一些其他转换
    visualTransformation: VisualTransformation = VisualTransformation.None,
    //输入框类型。可以定义为return/search等
    keyboardOptions: KeyboardOptions = KeyboardOptions.Default,
    //输入框Enter键盘类型,键盘返回键的的回调
    keyboardActions: KeyboardActions = KeyboardActions(),
    //是否单行
    singleLine: Boolean = false,
    //最大行
    maxLines: Int = Int.MAX_VALUE,
    //组件交互变化
    //interactionSource 处理状态的属性,比如按下的时候什么效果,正常时候什么效果,获取焦点时候什么效果等。类似之前再布局文件里写Selector。
    //interactionSource.collectIsPressedAsState() 判断是否按下状态
    //interactionSource.collectIsFocusedAsState() 判断是否获取焦点的状态
    //interactionSource.collectIsDraggedAsState() 判断是否拖动
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
    //文本框形状
    shape: Shape =
        MaterialTheme.shapes.small.copy(bottomEnd = ZeroCornerSize, bottomStart = ZeroCornerSize),
    //文字,光标等颜色
    colors: TextFieldColors = TextFieldDefaults.text
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值