2015-08-04 2 views
0

Как сделать EditText (как подчеркивание, так и андроид: подсказка) имеет прозрачность 50%, когда текст не вводится, и на него не нажимают, а затем изменяются на 100% при нажатии или вводе текста?Android: изменение прозрачности EditText при щелчке и вводе текста

Кроме того, как изменить цвет подчеркивания (без подсказки) на оранжевый, когда прозрачность составляет 100% (при нажатии или вводе текста)?

ответ

1

Используйте следующий код

mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
     @Override 
     public void onFocusChange(View v, boolean hasFocus) { 
      if (hasFocus) { 
       // If has focus then change the alpha to 1 
       mEditText.setAlpha(1); 
       // Set orange color filter 
       mEditText.getBackground().setColorFilter(Color.argb(255, 255, 165, 0), PorterDuff 
         .Mode.SRC_IN); 
      } else { 
       // When focus is lost, check if some text has been entered. 
       // If not then set the alpha to 0.5f (50% transparent) 
       if (TextUtils.isEmpty(mEditText.getText().toString())) { 
        mEditText.setAlpha(0.5f); 
        // Clear the color filter 
        mEditText.getBackground().clearColorFilter(); 
       } 
      } 
      mEditText.invalidate(); 
     } 
    }); 
Смежные вопросы