compose UI OutlinedTextField默认颜色说明

本文示例代码API基于compose UI 1.0.0-bate08

背景深色时,使用OutlinedTextField会有不清晰的情况,需要自定义配置颜色,outlinedTextFieldColors颜色太多,记录一下方便以后修改。

OutlinedTextField(
	colors: TextFieldColors = TextFieldDefaults.outlinedTextFieldColors(),

outlinedTextFieldColors默认Default颜色说明(加粗比较常用):
textColor: Color = 文字颜色,根据surface调整onSurface,默认黑色
disabledTextColor: Color = 禁用文本颜色,取textColor: 的0.38f透明度版本
backgroundColor: Color = 背景颜色,默认全透明度的白色,修改没什么效果
cursorColor: Color = 光标颜色,默认主题primary色
errorCursorColor: Color = 错误光标颜色,默认主题error色,主题error默认0xFFB00020

focusedBorderColor: Color = 点击聚焦后边框颜色,默认主题primary色的hight透明度色(0.87f-1.0f)
unfocusedBorderColor: Color = 未点击时边框颜色,默认onSurface的0.38f透明度
disabledBorderColor: Color = 禁用时边框颜色,默认跟unfocusedBorderColor 一样

errorBorderColor: Color = 错误边框颜色,默认主题error色,主题error默认0xFFB00020,
leadingIconColor: Color = 前icon的颜色,默认onSurface的0.54f透明度
disabledLeadingIconColor: Color = 禁用前icon颜色,默认onSurface的0.38f透明度
errorLeadingIconColor: Color = 错误前icon颜色,默认前icon的颜色
trailingIconColor: Color = 后icon的颜色,默认onSurface的0.54f透明度
disabledTrailingIconColor: Color = 禁用后icon颜色,默认onSurface的0.38f透明度
errorTrailingIconColor: Color = 错误后icon颜色,默认前icon的颜色,

focusedLabelColor: Color = 聚焦label颜色,默认主题primary色的hight透明度色
unfocusedLabelColor: Color = 未聚焦label颜色,默认主题onSurface色的medium透明度色(0.6f - 0.74f)
disabledLabelColor: Color = 禁用时label颜色,默认主题onSurface色的disabled透明度色(0.38f)
errorLabelColor: Color = 错误时label颜色,默认主题error色,主题error默认0xFFB00020

placeholderColor: Color = 占位符颜色(类似于原android的hilt)默认onSurface的medium透明度(0.6f - 0.74f)
disabledPlaceholderColor: Color = 禁用占位符颜色,默认onSurface的disabled透明度(0.38f)

如果想批量修改默认文字颜色,而不像每一个OutlinedTextField都设置TextFieldColors,可以这样:

CompositionLocalProvider(LocalContentColor provides MaterialTheme.colors.primary) {
        SomeScreen()
    }

SomeScreen()下的LocalContentColor .current 将拿到MaterialTheme.colors.primary的值,而不用每一个都修改。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值