Intereting Posts
Хранить и извлекать объект класса по общим предпочтениям Экран круглого угла Android в диалоговом окне Связывание службы с android.app.Activity vs привязка ее к android.app.Application Я застал установку Crashlytics для Android с помощью Eclipse Android: создайте большую плавучую кнопку действия с большим значком Android Ожидание намерения началось с notificaion, не заменит последний Как воспроизвести звук родной камеры на Android Библиотека сторонних разработчиков FloatingActionButton в CoordinatorLayout Многоразовые контейнеры для навигации и передовая практика Удаление программных продуктов Android SMS Ткань / Crashlytics Android добавляет строковый ресурс для Apikey вызывает Crashlytics Developer Tools Error Как предоставить разрешение MODIFY_PHONE_STATE для приложений, запущенных на Gingerbread Android: элементы ListView с несколькими кнопками Android ArrayList <MyObject> проходит как возможно Android Studio 1.0.1 добавляет внешние библиотеки

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

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

Solutions Collecting From Web of "Добавление текста в ImageView в Android"

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

 <RelativeLayout> // Only works inside a RelativeLayout <ImageView android:id="@+id/myImageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/myImageSouce" /> <TextView android:id="@+id/myImageViewText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/myImageView" android:layout_alignTop="@+id/myImageView" android:layout_alignRight="@+id/myImageView" android:layout_alignBottom="@+id/myImageView" android:layout_margin="1dp" android:gravity="center" android:text="Hello" android:textColor="#000000" /> </RelativeLayout> 1 <RelativeLayout> // Only works inside a RelativeLayout <ImageView android:id="@+id/myImageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/myImageSouce" /> <TextView android:id="@+id/myImageViewText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/myImageView" android:layout_alignTop="@+id/myImageView" android:layout_alignRight="@+id/myImageView" android:layout_alignBottom="@+id/myImageView" android:layout_margin="1dp" android:gravity="center" android:text="Hello" android:textColor="#000000" /> </RelativeLayout> 

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

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

 <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/your_image" android:text="your text here" /> 

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

 <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableBottom="@drawable/ic_launcher" android:text="TextView" /> 

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

  <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableLeft="@drawable/image" android:text="@strings/text" /> 

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

  <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/border_box1" android:drawableLeft="@drawable/ar9_but_desc" android:padding="20dp" android:text="@string/ar4_button1" android:textColor="@color/white" android:textSize="24sp" /> 

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

С помощью FrameLayout вы можете поместить текст поверх изображения, а также рамочный макет, содержащий как изображение, так и текстовое изображение.

Если этого недостаточно, и вам нужно что-то более необычное, как текст «рисования», вам нужно нарисовать текст на холсте. Образец здесь: Как нарисовать текст RTL (арабский) на растровое изображение и заказать его правильно?

Чтобы нарисовать текст прямо на холсте, выполните следующие действия:

  1. Создание объекта-объекта myImageView конструкторе myImageView

     Paint mTextPaint = new Paint(); 
  2. Используйте canvas.drawText в myImageView.onDraw() :

     canvas.drawText("My fancy text", xpos, ypos, mTextPaint); 

Изучите документацию класса Paint и Canvas, чтобы добавить причудливые эффекты.

  <FrameLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center_horizontal" android:layout_weight="30" > <ImageButton android:id="@+id/imgbtnUploadPendingPods" android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/hello_world" android:src="@drawable/upload_icon" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:paddingTop="30dp" android:text="@string/pendingpods" android:textAppearance="?android:attr/textAppearanceSmall" /> </FrameLayout> 

Вы можете использовать TextView с той же целью, но если вы хотите использовать то же самое с ImageView, вам нужно создать класс и расширить ImageView, а затем использовать метод onDraw (), чтобы нарисовать текст на холсте. Для более подробной информации посетите http://developer.android.com/reference/android/graphics/Canvas.html