我现在已经尝试了两天将图像附加到TextView,但它没有用。我已经尝试过Android 6 / API Level 23. ImageSpan,Html.fromHtml和其他方法无法正常工作。那么是否可以在Android 6的TextView中的其他单词之间附加图像(Bitmap)?
修改
这是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);
答案 0 :(得分: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);
答案 1 :(得分:1)
我现在已经为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。
答案 2 :(得分:0)
如果要设置TextView的背景,请使用以下方法:
txt.setBackgroundResource(int rsid);
txt.setBakgroundDrawable(Drawable object);
如果通过追加,表示您想将其添加到TextView的末尾,则使用ImageView作为图像。或者您可以在ImageView中叠加TextView
答案 3 :(得分:0)
无法在TextView中的文本之间添加图像。您可以在开头和结尾添加TextView图像。这是通过
完成的android:drawableLeft