I\'m not sure that this is possible, perhaps someone can set me straight. I have an EditText View in an android application that has white text on a blue background. When the te
Object mSelectionForegroundColorSpan;
@Override
protected void onSelectionChanged(int selStart, int selEnd) {
super.onSelectionChanged(selStart, selEnd);
if(mSelectionForegroundColorSpan == null){
mSelectionForegroundColorSpan = new ForegroundColorSpan(Color.GREEN);
}else{
getText().removeSpan(mSelectionForegroundColorSpan);
}
if(selStart > selEnd){
int swap = selStart;
selStart = selEnd;
selEnd = swap;
}
getText().setSpan(mSelectionForegroundColorSpan, selStart, selEnd, Spanned.SPAN_INTERMEDIATE);
}
Override the onSelectionChanged method of TextView, get the text and set a ForegroundColorSpan
Try with textColorHighlight - "Color of highlighted text." http://developer.android.com/reference/android/R.attr.html#textColorHighlight
Try:<item name="android:textColorHighlight">your_color</item>
in the style that you as your theme. For e.g.
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="colorPrimary">your_color1</item>
<item name="colorPrimaryDark">your_color2</item>
<item name="colorAccent">your_color3</item>
<item name="android:textColor">your_color4/item>
<item name="android:textColorHighlight">your_color</item>
</style>
then use this style as the theme for your activity in the manifest file. For e.g.-
<activity
android:name=".youractivity"
android:label=""
android:theme="@style/AppTheme.NoActionBar"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
As referred to by this SO post, you should be using a selector to change text colors like so:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Pressed State -->
<item android:state_pressed="true"
android:color="#FFFFFF" />
<!-- Focused State -->
<item android:state_focused="true"
android:color="#FFFFFF" />
<!-- Default State -->
<item android:color="#000000" />
</selector>
And then set your textColor property to @drawable/selector_name
Did you try @android:attr/textColorPrimaryInverse ?