绿色来自哪里?我尝试更改accentColor
属性,该属性适用于应用的其他部分,但不在此处。
来自Lollipop的应用程序的屏幕截图。
如何更改颜色:
也许是未来的一些提示......你是怎么发现的?我一直在遇到所有这些令人困惑的颜色/造型问题。是否有某种列表告诉我,我需要为某个组件覆盖哪种默认颜色或属性?
答案 0 :(得分:6)
要更改手柄颜色,您可以按指定here执行,使用样式
<style name="MyCustomTheme" parent="@style/MyNotSoCustomTheme">
<item name="android:textSelectHandle">@drawable/text_select_handle_middle</item>
<item name="android:textSelectHandleLeft">@drawable/text_select_handle_left</item>
<item name="android:textSelectHandleRight">@drawable/text_select_handle_right</item>
</style>
为此,以编程方式检查同一问题另一个回复here,这是使用反射
完成的try {
final Field fEditor = TextView.class.getDeclaredField("mEditor");
fEditor.setAccessible(true);
final Object editor = fEditor.get(editText);
final Field fSelectHandleLeft = editor.getClass().getDeclaredField("mSelectHandleLeft");
final Field fSelectHandleRight = editor.getClass().getDeclaredField("mSelectHandleRight");
final Field fSelectHandleCenter = editor.getClass().getDeclaredField("mSelectHandleCenter");
fSelectHandleLeft.setAccessible(true);
fSelectHandleRight.setAccessible(true);
fSelectHandleCenter.setAccessible(true);
final Resources res = context.getResources();
fSelectHandleLeft.set(editor, res.getDrawable(R.drawable.text_select_handle_left));
fSelectHandleRight.set(editor, res.getDrawable(R.drawable.text_select_handle_right));
fSelectHandleCenter.set(editor, res.getDrawable(R.drawable.text_select_handle_middle));
} catch (final Exception ignored) {
}
要更改所选文本颜色,您可以将xml中的textColorHighlight
设置为
android:textColorHighlight="#ff0000"
通过你可以做的风格
<item name="android:textColorHighlight">@color/m_highlight_blue</item>