android TextView裡邊實現圖文混配效果

jia635發表於2014-07-22

       做的遊戲攻略中的圖文載入已經用TextView實現,但看到網易新聞裡的內容,點選圖片可以調到一個新的Activity ,感覺也像Textview 實現的,但不知道怎麼弄,想想可以通過動態載入Textview和ImageView 佈局實現,但當量大的時候回事非常複雜的。所以至今沒找到方法。明天使用一下這裡面的方法看看能不能實現

用TextView實現這樣的效果,圖片文字混排,文字不同顏色字型,打電話和吊起瀏覽器等等

程式碼如下:

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
myTextView = (TextView) this.findViewById(R.id.img_iv); 
//建立一個 SpannableString物件 
SpannableString sp = new SpannableString("這句話中有百度超連結,有高亮顯示,這樣,或者這樣,還有斜體."); 
//設定超連結 
sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 
//設定高亮樣式一 
sp.setSpan(new BackgroundColorSpan(Color.RED), 17 ,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//設定高亮樣式二 sp.setSpan(new ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
//設定斜體 
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
//打電話
sp.setSpan(new URLSpan("tel:4155551212"), 2, 5,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//圖片顯示在textview裡邊
Drawable d = getResources().getDrawable(R.drawable.ic_launcher); 
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE); 
sp.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); 

//SpannableString物件設定給TextView 
myTextView.setText(sp); 
//設定TextView可點選 
myTextView.setMovementMethod(LinkMovementMethod.getInstance()); 


相關文章