我在Android 5中有非常奇怪的問題。如果用戶輸入錯誤,我想設置錯誤來編輯文本並將其更改爲紅色,並且當用戶開始鍵入我想將顏色變回綠色。這是我該如何做的:編程式更改一個EditText顏色變化使用Android 5在整個應用程序中編輯文本顏色
eText.setError(message);
eText.getBackground().setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);
eText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
eText.getBackground().setColorFilter(
ctx.getResources().getColor(R.color.dark_green), PorterDuff.Mode.SRC_ATOP);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {}
@Override
public void afterTextChanged(Editable s) {}
});
在Android版本低於5的情況下,一切都很完美,但不是棒棒糖。如果我更改一種edittext顏色,所有應用程序中的所有edittext都會將其更改爲彩色。有什麼方法可以解決這個奇怪的問題嗎?或者它是一些我不知道的材料設計和Android 5技巧?
那麼如何改變顏色的棒棒糖,而不是改變所有編輯文本的顏色?這是問題.. – Eddwhis
@Eddwhis: - 如果你想改變編輯文本的顏色,那麼你已經實現了eText.setBackgroundColor沒有得到方法的使用。 –