Я знаю о set drawableRight в XML. но мне нужно было сделать это программно, потому что это изменение в соответствии с некоторым условием.
Я знаю о set drawableRight в XML. но мне нужно было сделать это программно, потому что это изменение в соответствии с некоторым условием.
Ответы:
Вы можете использовать функцию ниже:
editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.drawableRight, 0);
или (если вы хотите передать сам объект рисования вместо его идентификатора)
editText.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(context,R.drawable.drawableRight), null)
Порядок параметров, соответствующих доступному местоположению: слева, сверху, справа, снизу
Найти далее здесь
EditText myEdit = (EditText) findViewById(R.id.myEdit);
myEdit.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.icon, 0);
// where params are (left,top,right,bottom)
Вы также можете программно установить рисованные отступы:
myEdit.setCompoundDrawablePadding("Padding value");
Попробуйте, как показано ниже:
Drawable img = getContext().getResources().getDrawable( R.drawable.smiley );
EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);
Редактировать :
int img = R.drawable.smiley;
EdtText.setCompoundDrawablesWithIntrinsicBounds( 0, 0, img, 0);
Пытаться:
EditText editFirstname = (EditText) findViewById(R.id.edit_fname);
Drawable icUser = getResources().getDrawable(R.drawable.ic_user);
editFirstname.setCompoundDrawablesWithIntrinsicBounds(null, null, icUser, null);
Затем вы можете добавить сенсорный прослушиватель к этому конкретному объекту.
int img = R.drawable.smiley;
editText.setCompoundDrawables( null, null, img, null );
Объясняется здесь
setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom)
Устанавливает Drawables (если есть) так, чтобы они отображались слева от текста, над ним, справа от него и под ним. Используйте 0, если вам не нужен Drawable. Границы Drawables будут установлены на их внутренние границы.
Вы можете использовать ваше представление editText (здесь это txview), встроенное в функцию setCompoundDrawablesWithIntrinsicBounds (), чтобы делать то, что вы ищете
в моем коде я использовал его вот так. txview.setCompoundDrawablesWithIntrinsicBounds (0,0, R.drawable.ic_arrow_drop_up, 0);
txview.setCompoundDrawablesWithIntrinsicBounds(left,top,right,bottom);
et_feedback.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
}
et_feedback.setCompoundDrawablesWithIntrinsicBounds(0,R.mipmap.feedback_new, 0, 0);
et_feedback.setTextColor(Color.BLACK);
}
});
Скрыть Drawable с помощью этого
et_feedback.setCompoundDrawablesWithIntrinsicBounds(0,0, 0, 0);