Java 将图像附加到文本视图

Java 将图像附加到文本视图,java,android,android-layout,textview,drawable,Java,Android,Android Layout,Textview,Drawable,我已经尝试了两天将图像附加到文本视图中,但没有成功。我已经在Android 6/API级别23上尝试过了。ImageSpan、Html.fromHtml和其他方法不起作用。那么,在安卓6上的文本视图中,是否可以在其他单词之间附加图像(位图) 编辑 以下是XML: <TextView android:layout_height="wrap_content" android:textAppearance="?android:attr/text

我已经尝试了两天将图像附加到文本视图中,但没有成功。我已经在Android 6/API级别23上尝试过了。ImageSpan、Html.fromHtml和其他方法不起作用。那么,在安卓6上的文本视图中,是否可以在其他单词之间附加图像(位图)


编辑


以下是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"/>

如果要设置TextView的背景,请使用以下方法:

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

如果通过附加,您的意思是要将其添加到TextView的末尾,然后对图像使用ImageView。或者您可以在ImageView中覆盖您的TextView

无法在TextView中的文本之间添加图像。您可以将图像添加到文本视图的开头和结尾。这件事就这样结束了

android:drawableLeft
在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,null,null,null);

我现在找到了Api 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"

错误在于,在api level 21+中,您必须将TransformationMethod设置为null。

您可以将您尝试过的xml/java代码放入其中吗?以下是xml代码@Sudip podder在textView末尾使用单独的imageView有什么错?Emojis应该通过Unicode处理答案是ImageSpan。如果它不起作用,那是因为你想得到比你说的更多的东西,或者是因为你在实现中犯了一个错误。谢谢,但那不是我要的。我回答你的问题时说这是不可能的。我只是建议用另一种方式将图像添加到文本视图中。这是可能的,请看我的回答。谢谢,但这不是我的意思。你可以使用Webview
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);
}
android:textAllCaps="false"