Как добавить изображение в EditText

Я хочу динамически добавлять изображение в EditText . Является ли это возможным?

Если кто-нибудь знает, пожалуйста, дайте образец кода для этого.

Solutions Collecting From Web of "Как добавить изображение в EditText"

Если что-то вроде этого:

EditCheck

Это то, о чем вы говорите, тогда вам просто нужно установить Drawable{Right | Left | Top | Bottom} Drawable{Right | Left | Top | Bottom} Drawable{Right | Left | Top | Bottom} в xml или вызвать соответствующую команду java.

 EditText text = (EditText)findViewById(R.id.text); text.setCompoundDrawables(null, null, getResources().getDrawable(R.drawable.check_box), null); 

Введите описание изображения здесь

Использование макета фрейма очень легко преодолеть. Еще одно преимущество заключается в том, что вы можете давать события click для кнопок. Если вы устанавливаете значки с помощью setCompoundDrawables, вы не можете дать события click.I реализовал в моем проекте, что панель поиска удалена И поиск значков.

 <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <EditText android:id="@+id/search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/search_bar" android:drawablePadding="8dp" android:paddingLeft="30dp" android:paddingRight="10dp" android:inputType="text" android:maxLines="1"> <requestFocus /> </EditText> <Button android:id="@+id/searchBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center_vertical" android:layout_margin="10dp" android:background="@drawable/icon_magnify" /> <Button android:id="@+id/delete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|center_vertical" android:layout_margin="8dp" android:background="@drawable/icon_remove" /> </FrameLayout> 

Используя android:drawableRight android:drawableLeft (зависит от того, где вы предпочитаете выравнивать изображение)

 <EditText android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@+id/searchedTxt" android:width="200dp" android:layout_alignParentRight="true" android:drawableRight="@android:drawable/ic_menu_search" android:drawablePadding="@dimen/dimen_10dp" /> 

Вы также можете попробовать это

  SpannableString ss = new SpannableString("abc\n"); Drawable d = img.getDrawable(); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE); ss.setSpan(span, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); editT.setText(ss); 

Тестовое изображение

Вы можете использовать setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom) .

  EditText text = (EditText) findViewById(R.id.edtTest); text.setText("Test"); text.setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(R.drawable.myDrawable), null); 

Вы можете добавить изображение в свой EditText через android:background="@drawable/img" .

Если вы хотите изменить стиль, используя девять патчей или иначе, но если вы хотите добавить небольшое изображение в левой части вашего EditText подумайте об использовании android:drawableRight="@drawable/icon" .

Расширьте класс edittext и сделайте код, так как вы хотите, чтобы он был

 public void setImage(String imageResource) { int position = Selection.getSelectionStart(MyEditText.this .getText()); Spanned e = Html.fromHtml("<img src=\"" + imageResource + "\">", imageGetter, null); MyEditText.this.getText().insert(position, e); } 

Вы можете использовать:

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

Как предлагается здесь:
Вызов setCompoundDrawables () не отображает Compound Drawable

Вы можете попробовать это, если находитесь в классе адаптера

  holder.myEditText.setCompoundDrawablesWithIntrinsicBounds(null, null, _context.getResources().getDrawable(R.drawable.ic_launcher), null); 

И вы можете попробовать это, если находитесь в классе активности

  myEditText.setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(R.drawable.ic_launcher), null); 

Создайте экземпляр EditText

 EditText editText = (EditText) findViewById(R.id.EditText1); 

Затем создайте выпадающий экземпляр изображения

 Drawable image = getResources().getDrawable(R.drawable.ic_warning); // API 21 and below. 

ИЛИ

 Drawable image = getDrawable(R.drawable.ic_warning); // API 22 and above. 

Затем установите изображение, вызвав setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom);

 editText.setCompoundDrawablesWithIntrinsicBounds(null, null, image, null); 

Вышеуказанная строка установит изображение в правой части EditText