如何更改EditText文本选择手柄的颜色?

4

我知道这个问题已经有答案了,但我找不到可行的解决方案。

在安卓系统中,大于Lolipop(21)的版本中,有没有办法改变我的文本选择句柄的颜色(而不上传新的png图像)?

我定义了这个样式:

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <style name="AppEditTextStyle" parent="@android:style/Widget.Material.Light.EditText">
    <item name="android:background">@null</item>    
    <item name="android:textCursorDrawable">@null</item> 
    <item name="android:drawableTint">#00ffffff</item>           
  </style>

  <style name="AppTheme" parent="@android:style/Theme.Material.Light.NoActionBar"> 
    <item name="android:editTextStyle">@style/AppEditTextStyle</item>
  </style>

</resources>

但是它不起作用,我收到以下信息: 错误:找不到与给定名称匹配的资源:attr 'android:drawableTint'。
但在文档中(https://developer.android.com/reference/android/widget/TextView.html#attr_android:drawableTint)明确指出了android:drawableTint的存在:(所以我不明白为什么我错过了?

洛基,这可能对你有所帮助。https://dev59.com/IV0a5IYBdhLWcg3w68cz - W4R10CK
谢谢W4R10CK,但不要 :( 我不想做<item name="android:textSelectHandle">@drawable/text_select_handle_middle</item>,因为我知道在Android > 21上有一种方法可以更改颜色而无需上传新的可绘制对象。我现在还不明白为什么<item name="android:drawableTint">#00ffffff</item>会返回错误 :( - zeus
可能是如何更改EditText手柄的颜色?的重复问题。 - Vadim Kotov
1个回答

2
在安卓5.0及以上版本中,手柄颜色是强调色。建议阅读以下内容:选择-模式-Material设计指南。这是样式代码行:
<item name="colorAccent">@color/colorAccent</item>

并且可以通过以下方式设置选择颜色:

android:textColorHighlight="@color/colorAccent"

但是当我执行<item name="colorAccent">@color/colorAccent</item>时,我收到了“找不到与给定名称匹配的资源:attr 'colorAccent' :(”的错误信息。 - zeus
我们能否仅将<item name="colorAccent">@color/colorAccent</item>添加到一个TextEdit中,而不是全局定义? - zeus
3
只有在Activity主题中设置了colorAccent,才能为手柄设置该颜色。 - Vadim Kotov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接