如何更改 EditText 指针颜色(不是光标)

问题描述 投票:0回答:4

我正在尝试使

EditText
的指针颜色变为蓝色。

Droplet looking thing is the pointer

我可以使下划线和光标变成蓝色,但看起来像水滴的指针仍然是灰色的。

我用谷歌搜索了一下,但出现的所有链接都只讨论如何更改光标,而不是指针。因此,如果有人知道如何做到这一点,我需要你的帮助。

我只需要支持Android 5.0及以上版本。因此,如果您的解决方案仅适用于 API > 21,那完全没问题。

谢谢!

android android-layout android-edittext android-widget textview
4个回答
12
投票

在你的 styles.xml 中这样写:

<item name="colorAccent">@color/blue</item>

9
投票

我知道这确实很晚了,但如果您只想更改手柄的颜色,您只需将以下内容添加到您的 styles.xml 文件中。

<style name="ColoredHandleTheme">
    <item name="colorControlActivated">@color/colorYouWant</item>
</style>

或者,如果您想在应用程序范围内设置它,您可以执行以下操作:

<style name="ColoredHandleThemeForWholeApp">
    <item name="colorAccent">@color/colorYouWant</item>
</style>

然后只需将主题设置为持有您想要影响的

EditText
的任何活动即可。

问题解决了!


0
投票

您可以使用“textSelectHandle”并设置自定义绘图以获得所需的输出。如下图-

<style name="MyCustomTheme">
    <item name="android:textSelectHandle">@drawable/middle_icon</item>
</style>

0
投票

对于那些想知道如何通过 compose 获得相同结果的人:

@Composable
fun ComposableComponent() {
  val colors = TextFieldDefaults.colors(
    selectionColors = TextSelectionColors(
      handleColor = Color.Green,
      backgroundColor = Color.Cyan
    )
  )

  TextField(
    value = testTextFiedValue,
    onValueChange = { testTextFiedValue = it },
    colors = colors
  )

TextField with selection}

© www.soinside.com 2019 - 2024. All rights reserved.