標籤:
做的遊戲攻略中的圖文載入已經用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());
}
android TextView裡邊實現圖文混配效果