首页 > 解决方案 > 如何使 TextInput 中的 selectionColor 属性透明?

问题描述

我正在尝试为 TextInput 自定义光标和选择颜色。在 iOS 上,更改颜色可以正常工作,所选颜色会显得更浅且易于阅读。然而,在 Android 上,颜色完全按照它所写的那样出现,考虑到我的文本是黑色以及我的选择颜色,这是一个巨大的问题。

我可以轻松地使用三元运算并在 iOS 和 Android 之间进行更改,但是我需要光标颜色相同,并且它们都使用给定的颜色。另一种选择可能是在选择文本时更改文本颜色,但是所选文本似乎不是我可以使用的状态。

<TextInput
  selectionColor='#000000'
/>

https://imgur.com/a/GfgGPmz

最上面的图像是我想要的,也是在 iOS 上发生的。底部的图像是我在 Android 上得到的。

标签: reactjsreact-native

解决方案


您需要为 Android 显式传递具有 alpha 值的颜色以使其透明。

如果您使用 rgba 颜色设置您的 selectionColor,那么您应该得到您想要的结果。

selectionColor='rgba(0, 0, 0, 0.5)'

在android中突出显示的选择

您可以在此处阅读有关 react-native 可以处理的不同颜色及其选项的更多信息https://facebook.github.io/react-native/docs/colors


推荐阅读