Подтвердить что ты не робот

Как отображать изображение в Android TextView?

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

4b9b3361

Ответ 1

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

ImageSpan is = new ImageSpan(context, resId);
text.setSpan(is, index, index + strLength, 0);

Ответ 2

Намного проще использовать SpannableStringBuilder из API 1

Пример использования:

Для 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);

Для 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);

Ответ 3

ImageSpan is = new ImageSpan(context, R.drawable.arrow);
SpannableString text = new SpannableString("Lorem ipsum dolor sit amet");
text.setSpan(is, 5, 5 + 10, 0);

Ответ 4

сделайте что-нибудь подобное.

textView.setCompoundDrawableWithIntrinsicBounds(yourImg, null, null, null);

Ответ 5

сделать 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>

то в main.xml, включите этот 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>

Это мой 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
    }

}
}

Ответ 6

Попробуйте это...!!

<string name="home"><img src=""></img></string>

<TextView
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="@string/home" />