Textview поверх imageview android studio

Размещение textview поверх imageview в android

это дает выход как ниже

как сделать что-то вроде ниже

Примечание:: Блюдо 1 & 2 являются textviews

7 ответов

это должно дать вам необходимую планировку:

сыграет с android:layout_marginTop=»20dp» чтобы увидеть, какой подходит вам лучше. Используйте код textview для динамической установки android:text значение.

поскольку RelativeLayout стекает свои дочерние элементы, определение TextView после ImageView помещает его «поверх» ImageView.

Примечание: аналогичные результаты могут быть получены с помощью FrameLayout как родитель, наряду с повышением эффективности по сравнению с использованием любого другого android контейнер. Спасибо Igor Ganapolsky (см. комментарий ниже), отметив, что этот ответ нуждается в обновлении.

надеюсь, это может вам помочь.

можно использовать framelayout для достижения этой цели.

Как использовать framelayout

просто перетащите TextView поверх ImageView в eclipse

и это вывод вышеуказанного xml

как вы упомянули в OP, вам нужно наложить Text on ImageView как программно. Вы можете получить ImageView drawable и писать на нем с помощью размещения его на Canvas и Paint .

вы можете попробовать это слишком. Я использую просто так.

может быть, вам стоит сначала написать ImageView, а затем TextView. Иногда это помогает. Это просто, но я надеюсь, что это кому-то поможет. 🙂

Источник

Поместите изображение рядом с текстом

Я пытаюсь разместить изображение рядом с текстовым изображением. Однако они продолжают заканчивать по разным «линиям».

Размещение изображения как составного чертежа не является вариантом, поскольку оно используется для другого изображения.

Есть какие-нибудь подсказки о том, как я могу разместить изображение в той же строке, что и текст?

5 ответов

Я хотел бы дать вам несколько советов, когда вы пытаетесь создать пользовательский интерфейс приложения. Первое, что вам следует сделать, это попытаться получить нужный пользовательский интерфейс с помощью инструмента дизайна, в котором вы можете разместить элементы пользовательского интерфейса и, что более важно, вы также можете увидеть, какие атрибуты вы можете установить для определенного макета. Это сэкономит вам время.

Читайте также:  Android прошивка под себя

И ответом на ваш вопрос будет линейная компоновка, что является наиболее простым способом. Просто постарайтесь избегать веса (здесь не обязательно), потому что на создание пользовательского интерфейса уходит больше времени.

Вот отличный урок, чтобы лучше понять макет.

И, конечно, ответ на ваш вопрос (сделал это просто с помощью инструмента дизайна):

Вы можете сделать это так

Использование Compound Drawable

Здесь вы устанавливаете ImageView слева от TextView

Иначе, если вы хотите, чтобы это было отдельными компонентами, попробуйте это (Другой способ сделать)

Измените android:orientation из LinearLayout , если вы хотите, чтобы оно было вертикальным, соответственно измените и android:gravity

Этого можно добиться двумя способами.

Используйте LinearLayout в качестве контейнера / родителя с вертикальной или горизонтальной ориентацией, что соответствует вашим потребностям.

Вы можете использовать относительный макет в качестве контейнера / родителя, а затем использовать свойство «toRightOf» или «выше» / «ниже» и использовать идентификаторы ваших дочерних представлений.

Лучший подход — первый, так как относительный макет измеряется дважды.

Используйте android: layout_toRightOf : Позиционирует левый край этого представления справа от заданного идентификатора представления привязки. Устанавливает левое поле этого представления и правое поле представления привязки. Свойство RelativeLayout. Итак, наконец,

Источник

Android Текст поверх изображения

У меня есть изображение с изображением, над этим изображением я хочу поместить текст. Как я могу это достичь?

Вот как я это сделал, и он работал точно так же, как вы просили:

PS: Работает только внутри RelativeLayout

Вы можете захотеть взять, если с другой стороны: кажется, проще иметь TextView с возможностью рисования на фоне:

Для этого вы хотите использовать FrameLayout или макет слияния. Android-руководство для разработчиков имеет отличный пример этого: Android Layout Tricks # 3: Оптимизация путем слияния .

Есть много способов. Вы используете RelativeLayout или AbsoluteLayout.

С относительным вы можете, например, сопоставить изображение с родителем на левой стороне, а также выравнивать текст с родительским слева … тогда вы можете использовать поля и отступы и гравитацию в текстовом представлении, чтобы выровнять его, где вы Хотите по изображению.

  • Создать новый класс, унаследованный от класса ImageView и
  • Переопределить метод onDraw . super.onDraw() в этом методе и
  • Затем нарисуйте текст, который хотите отобразить.
Читайте также:  Skachat facebook для android

Если вы это сделаете, вы можете использовать это как один компонент компоновки, который упрощает компоновку вместе с другими компонентами.

Вы можете использовать TextView и изменить его фон на изображение, которое вы хотите использовать.

Для этого вы можете использовать только один TextView с android:drawableLeft/Right/Top/Bottom чтобы поместить изображение в TextView. Кроме того, вы можете использовать некоторое дополнение между TextView и drawable с помощью android:drawablePadding=»»

Используйте его так:

При этом вам не нужен дополнительный ImageView. Также возможно использовать две чертежи на нескольких сторонах TextView.

Единственная проблема, с которой вам придется столкнуться, заключается в том, что выталкиваемый нельзя масштабировать способом ImageView.

Попробуйте приведенный ниже код, это поможет вам

Источник

Как разместить TextView внутри ImageView в одном месте на разных устройствах?

У меня есть ImageView, где мне нужно разместить TextView поверх определенного места в ImageView, например, этот рисунок

Мне удалось это сделать, используя следующий xml:

Это отлично работает на моем тестовом устройстве с одним эмулятором, но, как я ожидал, пробуя на других устройствах эмулятора, он плохо масштабируется на нескольких устройствах с разными разрешениями и т. Д. Из-за фиксированных значений margin dp.

Как я могу добиться этого наилучшим образом, который будет работать на нескольких устройствах, и теперь TextView будет всегда находиться в одной и той же позиции? Я знаю, что могу использовать sizes.xml и использовать разные значения маржи для разных размеров устройства, но я не думаю, что это будет лучший подход.

3 ответа

Я знаю, что могу использовать файл sizes.xml и использовать разные значения полей для разных размеров устройства, но не думаю, что это лучший подход.

Вы правы, вы можете использовать подобные рекомендации, чтобы убедиться, что ваш макет будет выглядеть одинаково на разных экранах:

Это будет выглядеть так (черные стрелки — это ориентиры):

И теперь у вас есть только 1 макет, но это адаптивный макет — вам не нужно создавать больше для разных устройств.

Обратите внимание, что у меня нет фиксированных размеров для моих представлений, я создал полностью адаптивный макет с использованием процентов, для получения дополнительной информации по теме вы можете проверить мой ответ.

Читайте также:  Офис для андроид возможности

Существует библиотека https://github.com/intuit/sdp, которая предоставляет новую единицу размера — sdp (масштабируемый dp). Эта единица измерения масштабируется вместе с размером экрана. Это может помочь разработчикам Android в поддержке нескольких экранов. Вот пример изображения этого

Если TextView ограничен просмотром изображения сверху, снизу, в начале и в конце, то он будет расположен в центре ImageView . Затем вы можете использовать смещение для позиционирования TextView в процентном соотношении от верха и начала ImageView . TextView сохранит это относительное положение независимо от размера или ориентации экрана.

Источник

Добавление текста в ImageView в Android

У меня есть один ImageView. Я хочу показать это изображение, чтобы показать какое-то сообщение причудливо. Поэтому я хочу добавить текст в этот ImageView. Может ли кто-нибудь сказать мне, как я могу это сделать.

9 ответов

Чтобы добавить текст в ImageView , вы можете сделать это:

Вы также можете использовать TextView и установить фоновое изображение на то, что вы хотели в ImageView . Кроме того, если вы использовали кнопку ImageView в качестве кнопки, вы можете установить ее нажатием кнопки

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

Лучший вариант использования текста и изображения в одном представлении попробуйте следующее:

Используйте drawalbeLeft/Right/Bottom/Top в TextView для рендеринга изображения в соответствующем положении.

Я знаю, что этот вопрос был и ушел, но если кто-то еще споткнулся об этом, я хотел сообщить им об этом. Это может показаться необъяснимым, но вы можете использовать кнопку с настраиваемым кликом или false или что-то еще. Это связано с тем, что кнопка позволяет добавить в текст drawableLeft, drawableRight, drawableTop и т.д.

Новая информация: Кнопка может иметь значки в drawableLeft, drawableRight, drawableTop и drawableBottom. Это делает стандартную кнопку более гибкой, чем кнопка изображения. Левый, правый, верхний и т.д. — это отношение к тексту в кнопке. Вы можете иметь несколько ярлыков на кнопке, например, один слева, один справа и текст посередине.

Источник

Оцените статью