我想在TextView中插入一些圖像。怎麼做?任何想法如何在Android的TextView中顯示圖像?
回答
您可以創建一個spannableString,並將圖像放置在TextView所需的位置。或者你可以使用
ImageSpan is = new ImageSpan(context, resId);
text.setSpan(is, index, index + strLength, 0);
不會因索引越界異常而結束,因爲第3個參數是int end,超出了字符串的長度? – 2014-07-30 08:15:20
@LeiLeyba正確。真正的答案是:最終Spannable text = new SpannableString(string +「」); text.setSpan(is,string.length(),1 + string.length(),0); 。這會將圖像添加到給定字符串的末尾。 – 2014-08-14 12:14:27
如果你想放置一個包含文本的圖像,請注意,如果你跨越一個「空格」字符並且textview在該位置插入換行符,那麼它不會顯示。我猜textview在這種情況下會剪切所有的空格,這會導致圖像不能在該位置顯示。使用不是由textview剪切的「x」虛擬字符。 – Kedu 2015-04-08 13:43:00
做這樣的事情。
textView.setCompoundDrawableWithIntrinsicBounds(yourImg, null, null, null);
ImageSpan is = new ImageSpan(context, R.drawable.arrow);
SpannableString text = new SpannableString("Lorem ipsum dolor sit amet");
text.setSpan(is, 5, 5 + 10, 0);
這是最乾淨的解決方案(和唯一一個適用於我) 。 – Bevor 2017-10-21 08:59:59
化妝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
}
}
}
要容易得多可以使用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);
試試這個.. !!
<string name="home"><img src=""></img></string>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/home" />
完全不起作用 – prateek31 2016-08-06 21:17:00
它應該如何工作? – 2016-12-06 10:07:08
- 1. android:如何在textview中顯示圖像
- 2. 顯示從HTML到TextView的圖像 - Android
- 3. Android顯示textview圖
- 4. 如何顯示在TextView的Android中
- 5. 如何在GridView中設置圖像顯示中的TextView在Android中
- 6. 如何顯示外部圖像到textview?
- 7. 如何在android textview中顯示\
- 8. 如何在android textview中顯示分數?
- 9. 不要在Android中使用ImageSpan在TextView中顯示圖像
- 10. 在textview中顯示圖像與img html
- 11. 使用Html.fromhtml()在textview中顯示圖像;
- 12. 如何在ListView中顯示圖像android
- 13. 如何在android中顯示圖像組
- 14. 如何在Android中顯示大圖像
- 15. 如何在android中顯示gif圖像?
- 16. Android:如何在ListView中顯示圖像?
- 17. 如何在android中顯示bmp圖像
- 18. 如何在android中顯示.jpg圖像?
- 19. 如何在webview android中顯示圖像?
- 20. 如何突出顯示Android中的TextView
- 21. android在TextView中不顯示「」?
- 22. 在Android的谷歌地圖顯示textview
- 23. Android - 通過Html.fromHtml在TextView中顯示圖像?
- 24. 如何讓圖像名稱顯示在TextView中?
- 25. 使用fromHtml方法的android textview中的圖像不顯示
- 26. 如何在Android中顯示座位圖像,如下圖所示?
- 27. Android TextView中的Unicode顯示
- 28. 在TextView之間顯示圖像
- 29. Html.fromHtml中的android-TextView setText顯示圖像和文字
- 30. iPhone的PNG圖像顯示不同在Android TextView可繪製
使用前兩個答案,你是不是能夠文本之間添加圖片,只在頂部,底部,左側或右側,但我的解決方案可以讓你在你想要的文字 – 2011-04-06 06:45:48
看什麼指數添加圖片本文關於如何[將複合drawables設置爲TextView](http://mgmblog.com/2010/06/04/setcompounddrawable-to-add-drawables-to-textview/) – Salil 2011-04-06 05:47:23
'Dawid'已更新回答,頗有緊湊。 – Darpan 2015-09-01 05:01:42