Intereting Posts
Не удалось передать null для выполнения (); Метод AsyncTask в android 4.0 Как получить значения атрибутов темы Есть ли какая-либо единая структура для написания iOS, Android (и даже Windows Phone)? Как я могу получить тип mime файла с его Uri? Поддержка нового устройства Bluetooth в Android Элементы списка элементов списка изменяют позицию при прокрутке андроида? Можно ли производить непрерывное салфетку на сенсорном экране с помощью adb на Android? Показать макет, когда открывается мягкая клавиатура Создание анимации входа в систему, например, facebook android Android: намерение галереи возвращает resultCode == RESULT_CANCELED Как удалить элементы меню панели инструментов по умолчанию и заменить их другими значками? Как исправить множество закругленных углов в Android для Relative или layout? ActionBar стиль после обновления на Android леденец Генератор Xamarin.Android pdf Проблема с appwidget appWidgetIds (реальные и фантомные экземпляры виджета)

Как программно установить drawableRight на Android Edittext?

Я знаю о наборе drawableRight в XML. Но я должен делать это программно, потому что это изменение в соответствии с некоторым условием.

Solutions Collecting From Web of "Как программно установить drawableRight на Android Edittext?"

Вы можете использовать следующую функцию:

editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.drawableRight, 0); 

Порядок параметров, соответствующих доступному местоположению, равен: слева, сверху, справа, внизу

Найти здесь

 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); 
 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 editFirstname = (EditText) findViewById(R.id.edit_fname); Drawable icUser = getResources().getDrawable(R.drawable.ic_user); editFirstname.setCompoundDrawablesWithIntrinsicBounds(null, null, icUser, null); 

Затем вы можете добавить прослушиватель прикосновений к этому конкретному рисунку.

Вы можете использовать свой вид editText (здесь это txview), встроенный в функцию setCompoundDrawablesWithIntrinsicBounds (), чтобы делать то, что вы ищете

В моем коде Я использовал его вот так. txview.setCompoundDrawablesWithIntrinsicBounds (0,0, R.drawable.ic_arrow_drop_up, 0);

 txview.setCompoundDrawablesWithIntrinsicBounds(left,top,right,bottom);