现在,我可以通过反射和使用属性styles.xml
更改光标drawable。我查看了 final Resources.Theme theme = context.getTheme();
/*
* Look the appearance up without checking first if it exists because
* almost every TextView has one and it greatly simplifies the logic
* to be able to parse the appearance first and then let specific tags
* for this View override it.
*/
TypedArray a = theme.obtainStyledAttributes(attrs,
com.android.internal.R.styleable.TextViewAppearance, defStyleAttr, defStyleRes);
代码,它实际上从Resources.Theme中读取了drawables。我想知道它是否可能以及如何通过在skip_on_cran
中创建自定义主题来改变它?
test_that
答案 0 :(得分:2)
Edittext有一个名为 android:textCursorDrawable 的属性, 将此属性设置为 @null 现在你可以设置任何想要的颜色 android:textColor , 这将导致光标颜色改变。
答案 1 :(得分:2)
在您的布局中执行以下操作:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textCursorDrawable="@drawable/cursor_color"/>
然后创建drawalble cursor_color.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<size android:width="2dp" />
<solid android:color="#FFFFFF"/> // Set your required color code for your cursor color
</shape>
希望这会对你有所帮助
答案 2 :(得分:1)
在EditText属性中,有一个属性:android:textCursorDrawable
。
现在将它设置为@null
,如下所示:
android:textCursorDrawable="@null"
现在,您的EditText光标与EditText TextColor相同。
答案 3 :(得分:0)
将此添加到您的drawable文件夹中。:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<size android:width="1dp" />
<solid android:color="#000000"/>
</shape>
并在EditText标记中定义此标记:
android:textCursorDrawable="@drawable/black_cursor"
答案 4 :(得分:0)
在项目中随时更改颜色 - res-&gt; values-&gt; colors.xml,命名为“colorAccent”。这适用于所有编辑文本作为默认颜色,并支持所有API版本。