【发布时间】:2017-08-18 23:20:23
【问题描述】:
我想根据所选的应用主题以编程方式更改项目中使用的所有编辑文本的颜色和宽度。
所以我不能使用 XML 来做到这一点,需要一个编程解决方案。
所以我想创建一个自定义函数来设置这个
void setEditTextColorDrawable(int ClrVar)
{
// Code Todo
}
我尝试了
set textCursorDrawable programmatically
问题是,getDeclaredField("mCursorDrawableRes") 在 API22 之上不可用。
那么我该如何为所有超过 22 的 API 执行此操作
try {
// https://github.com/android/platform_frameworks_base/blob/kitkat-release/core/java/android/widget/TextView.java#L562-564
Field f = TextView.class.getDeclaredField("mCursorDrawableRes");
f.setAccessible(true);
f.set(yourEditText, R.drawable.cursor);
} catch (Exception ignored)
{
log.d("TAG", "This is depricated")
}
输出:“这是贬义的”
【问题讨论】:
标签: java android android-edittext cursor