React Native Text Input Android 光标/插入符号和文本光标颜色
Posted
技术标签:
【中文标题】React Native Text Input Android 光标/插入符号和文本光标颜色【英文标题】:React Native Text Input Android Cursor/Caret and Text Cursor Color 【发布时间】:2018-10-28 05:18:13 【问题描述】:我正在为 React Native Text Input 组件而苦苦挣扎,似乎无法找到一种方法来更改 android 上的光标颜色和文本选择指示器。
官方文档只列出了一个用于选择颜色的道具(文本的高亮背景)。
有没有办法在不全局更改的情况下做到这一点? 如果在全球范围内更改它是正确的方法,那么最好的方法是什么?在styles.xml 中更改它?当我尝试改变它时,React-Native 崩溃了。
【问题讨论】:
【参考方案1】:我们可以在位于android/app/src/main/res/values/styles.xml
的styles.xml 文件中为android 更改它
但是,在此之前最好停止 NodeJS 服务器,然后进行以下更改
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorControlActivated">@android:color/white</item>
</style>
</resources>
您还可以通过在同一目录中添加colors.xml
文件来添加自定义十六进制颜色代码,代码如下。
<resources>
<color name="primaryRed">#EB1E27</color>
</resources>
然后在您的styles.xml
文件中,您可以使用@color/primaryRed
引用该颜色。看起来像这样:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorControlActivated">@color/primaryRed</item>
</style>
</resources>
完成后,建议使用Android studio重新构建项目,如果构建成功,则可以运行react-native run-android
。
【讨论】:
谢谢,效果很好!顺便说一句,无需声明 AppTheme 等。您可以简单地自行添加“colorControlActivated”行。【参考方案2】:Godwin 的回答帮助了我,但之后我不得不运行它
cd android
./gradlew clean
cd ..
react-native run-android
因为构建会抛出这个错误Failed to capture snapshot of output files for task ':app:processDebugResources' property 'sourceOutputDir' during up-to-date check
Source
【讨论】:
以上是关于React Native Text Input Android 光标/插入符号和文本光标颜色的主要内容,如果未能解决你的问题,请参考以下文章
从 React Native Text Input 向 Redux Toolkit 的 createApi 添加动态数据?
native-base中Input,Textarea等组件在ios平台下不能输入中文
React Native 遇到错误Text strings must be rendered within a <Text> component.
react native Text marginRight paddingRight失效