Как добавить изображение в текст редактирования Android

Я хочу добавить изображение в вид edittext. Например, у меня есть изображение размером 250 * 250. Я хочу, чтобы текст отображался слева от изображения высотой 250, после чего текст должен отображаться в обычном левом положении.

               Some text some text some text
  Some image   Some text some text some text
               Some text some text some text
Some text some text some text Some text some 
text some text some text some text Some text 
some text Some text some text Some text some

person Rakki s    schedule 23.07.2014    source источник


Ответы (2)


Вы можете использовать свойство xml android:drawableLeft или (как уже упоминалось) setCompoundDrawableWithinBounds. Но ваш EditText будет выглядеть примерно так:

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

person Hristova    schedule 23.07.2014
comment
Но мое требование: после некоторой высоты я должен показывать текст в нормальном положении (не после ширины изображения) - person Rakki s; 25.07.2014
comment
Я знаю, но я не думаю, что есть стандартный способ сделать это. - person Hristova; 25.07.2014
comment
Круто Спасибо. Я использую расширяемый текст, чтобы установить начальное пространство для редактируемого текста с некоторой фиксированной строкой, и я добавил изображение в отдельное представление изображения поверх редактируемого текста. но все же у меня есть некоторые проблемы с гравитацией. Будем ждать, пока кто-нибудь ответит стандартным способом. - person Rakki s; 31.07.2014

Вы можете добавить изображение в редактируемый текст программно, используя набор setCompoundDrawableWithinBounds, который можно нарисовать слева...

person Gaurav Mittal    schedule 23.07.2014
comment
Спасибо за ответ. Ваш код добавит изображение слева, сверху, справа или снизу. Мое требование: когда высота изображения достигнута, это означает, что мне нужно нормально отображать текст. Если я ошибаюсь, можете ли вы объяснить какой-нибудь код. - person Rakki s; 31.07.2014
comment
вы можете реализовать соответствующий вид, используя линейный макет, как: поместите изображение в представление изображения и установите текст в остальной части экрана, а другой текст отредактируйте под ним. Установите фон прозрачным как для текста редактирования, так и появится ваше представление.... - person Gaurav Mittal; 31.07.2014
comment
Проблема в том, что мы должны предоставить пользователю поле editiext возможность редактировать текст. - person Rakki s; 31.07.2014
comment
Да, правильно, вы можете сначала просмотреть изображение, а затем отредактировать текст, оба имеют одинаковую высоту. После этого отредактируйте текст под линейным макетом и установите прозрачный фон. Поместите весь этот макет в один линейный макет и установите фоновое изображение, например текст редактирования. - person Gaurav Mittal; 31.07.2014
comment
Хорошо, но у меня проблема, когда пользователь вводит текст редактирования 1. Как узнать, что первый текст редактирования достиг своего максимального символа (означает, что достиг его высоты) 2. Как переключить фокус на следующий текст редактирования. - person Rakki s; 01.08.2014
comment
да, в этом случае вы можете попросить установить максимальное количество строк для редактирования текста 3, так как когда пользователь пишет 3 строки, нажмите ввод, фокус автоматически переходит к следующему.. - person Gaurav Mittal; 01.08.2014