2016-09-26 2 views
1

Я уже два дня пытаюсь добавить изображение в TextView, но оно не сработало. Я пробовал это для Android 6/API уровня 23. ImageSpan, Html.fromHtml и другие методы не работали. Так можно добавить изображение (битмап) между другими словами в TextView на Android 6?Добавить изображение в TextView


EDIT


Вот XML:

<TextView 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:layout_width="match_parent" 
      android:text="------" 
      android:gravity="bottom|left" 
      android:typeface="monospace" 
      android:id="@+id/mainTextView1" 
      android:textIsSelectable="true"/> 

И пядь изображение Код:

SpannableStringBuilder ssb = new SpannableStringBuilder(mOutEditText.getText()); ssb.setSpan(new ImageSpan(bitmapArray.get(0), ImageSpan.ALIGN_BASELINE), cursorPosition, cursorPosition+2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); mOutEditText.setText(ssb, BufferType.SPANNABLE); 
+1

Можете ли вы поместить свой xml/java-код, который вы пробовали? –

+0

Вот код XML @Sudip Podder – user6765242

+0

Что не так с помощью отдельного изображения в конце textView? –

ответ

1

Я нашел решение теперь Апи 21, 22, 23+:

private void appendImage(Bitmap bmp) 
{ 
    tv.setTransformationMethod(null); 
    SpannableString ss = new SpannableString(" "); 
    ss.setSpan(new ImageSpan(bmp, ImageSpan.ALIGN_BASELINE), 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); 
    tv.append(ss); 
} 

И в XML:

android:textAllCaps="false" 

Ошибка в том, что в уровне апи 21+ вы должны установить нуль TransformationMethod.

+0

Это была ошибка – user6765242

0

Если вы хотите установить фон из TextView использовать следующие методы:

txt.setBackgroundResource(int rsid); 
txt.setBakgroundDrawable(Drawable object); 

Если по Append, то значит, что вы хотите добавить его в конце TextView, затем использовать ImageView для изображения. Или вы можете наложить свой TextView на ImageView

+0

http: // stackoverflow.com/questions/39710061/append-image-to-textview – user6765242

0

Невозможно добавить изображения между текстом в TextView. Вы можете добавить изображение TextView в начале и в конце. Это делается с

android:drawableLeft 
+0

Спасибо, но это было не то, что я искал – user6765242

+0

Я ответил на ваш вопрос, сказав, что это невозможно. И я просто предлагал другой способ добавить изображения в текстовое окно. – ganlaw

+0

Это возможно - см. Мой ответ – user6765242

1

добавить изображение в формате XML

<TextView 
    android:drawableBottom="@drawable/ic_add_circle_black_24dp" 
    android:drawableEnd="@drawable/ic_add_circle_black_24dp" 
    android:drawableLeft="@drawable/ic_add_circle_black_24dp" 
    android:drawablePadding="@drawable/ic_add_circle_black_24dp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

программным

textView1.setCompoundDrawables(left,top,right,bottom); 

Или только левая

textView1.setCompoundDrawables(left,null,null,null); 
+0

Спасибо, но это не так, что я имел в виду – user6765242

+0

Вы можете использовать Webview –

Смежные вопросы