How to display image in Android TextView?

I want to insert some images into a TextView. How to do it? Any idea

+52
android
Apr 6 2018-11-11T00:
source share
6 answers

You can create a spannableString and place your image wherever you want in the TextView. Or you can use

ImageSpan is = new ImageSpan(context, resId); text.setSpan(is, index, index + strLength, 0); 
+67
Apr 6 2018-11-11T00:
source share

It's much easier to use the SpannableStringBuilder from the API 1

Usage example:

For API> = 21

  SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append("My string. I ") .append(" ", new ImageSpan(getActivity(), R.drawable.ic_action_heart), 0) .append(" Cree by Dexode"); textView.setText(builder); 

For API> = 1

  SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append("My string. I ").append(" "); builder.setSpan(new ImageSpan(getActivity(), R.drawable.ic_action_heart), builder.length() - 1, builder.length(), 0); builder.append(" Cree by Dexode"); textView.setText(builder); 
+49
Feb 05 '15 at 15:09
source share
 ImageSpan is = new ImageSpan(context, R.drawable.arrow); SpannableString text = new SpannableString("Lorem ipsum dolor sit amet"); text.setSpan(is, 5, 5 + 10, 0); 
+22
Aug 21 2018-12-12T00:
source share

do something like that.

 textView.setCompoundDrawableWithIntrinsicBounds(yourImg, null, null, null); 
+9
Apr 6 2018-11-11T00:
source share

make custom.xml

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/thumbnail_view" android:src="@drawable/ic_launcher" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/message_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/thumbnail_view" android:textSize="18sp" android:text="MyText" /> </RelativeLayout> 

then in main.xml, include this custom.xml

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal"> <include android:id="@+id/customView" layout="@layout/custom"/> </LinearLayout> 

This is my mainActivity.class

  package com.example.test; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private String TAG = MainActivity.class.getSimpleName(); ImageView img; ImageView img1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView txt = (TextView)findViewById(R.id.message_view); img = (ImageView) findViewById(R.id.thumbnail_view); img1 = (ImageView) findViewById(R.id.thumbnail_view1); img.setOnClickListener(this); img1.setOnClickListener(this); } @Override public void onClick(View v) { if(v== img){ // do something for img } else if (v== img1){ //do something for img1 } } } 
+1
Jun 25 '13 at 6:02
source share

Try it...!!

 <string name="home"><img src=""></img></string> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/home" /> 
-one
May 08 '15 at 5:29
source share



All Articles