Вы пробовали setOnFocusChangeListener
? В обработчике вы можете изменить внешний вид текста.
Например:
TextView text = (TextView)findViewById(R.id.text);
text.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
((TextView)v).setXXXX();
} else {
((TextView)v).setXXXX();
}
}
});
Затем вы можете применить любые изменения, которые вы хотите, когда он сфокусирован или нет. Вы также можете использовать ViewTreeObserver для прослушивания глобальных изменений фокуса.
Например:
View all = findViewById(R.id.id_of_top_level_view_on_layout);
ViewTreeObserver vto = all.getViewTreeObserver();
vto.addOnGlobalFocusChangeListener(new ViewTreeObserver.OnGlobalFocusChangeListener() {
public void onGlobalFocusChanged(
View oldFocus, View newFocus) {
// xxxx
}
});
Надеюсь, это поможет или даст вам идеи.