1. 程式人生 > >android textview等文字內容中字型顏色的改變和字型背景色的改變

android textview等文字內容中字型顏色的改變和字型背景色的改變

上面這個連結是之前瞭解的我當時已知的改變textView顏色的方法

今天好像有發現了一中,特拿裡分享

		TextView textView = (TextView) findViewById(R.id.textView);
		String str1 = "你猜1我猜1大家都猜1";
		String str2 = "嘻嘻哈哈,啊啊啊啊,唔哈嗚哈";
		
		
		Color color = new Color();
		SpannableString spanttt = new SpannableString(str1);
		ClickableSpan clickstr1 = new MyClickableSpan(color.rgb(255, 255, 0),
				this);
		spanttt.setSpan(clickstr1, 0, str1.length(),
				Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

		SpannableString spansss = new SpannableString(str2);
		ClickableSpan clickstr2 = new MyClickableSpan(color.rgb(0, 0, 255),
				this);
		spansss.setSpan(clickstr2, 0, str2.length(),
				Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
		
		textView.setText("我是誰");
		textView.append(spanttt);
		textView.append("你是誰你是誰你是誰你是誰你是誰你是誰你是誰");
		textView.append(spansss);
		textView.setMovementMethod(LinkMovementMethod.getInstance());
public class MyClickableSpan extends ClickableSpan {

		String string;
		Context context;
		int color;
		int bgcolor;

		public MyClickableSpan(String str, Context context) {
			super();
			this.string = str;
			this.context = context;
		}

		public MyClickableSpan(int color, Context context) {
			super();
			this.color = color;
			this.context = context;
		}

		public MyClickableSpan(int color, int bgcolor, Context context) {
			super();
			this.color = color;
			this.bgcolor = bgcolor;
			this.context = context;
		}

		@Override
		public void updateDrawState(TextPaint ds) {
			// 設定可點選文字的顏色值:注意這地方的引數是id或rgb值,
			// 如果設定R.color.blue等自定義的顏色值時不會出現預想的效果
//			ds.setColor(color);
			// ds.setColor(Color.BLUE);//設定顏色值有效
//			 ds.setColor(R.color.red);//設定顏色值“無效”
			//設定可點選文字下面是否帶下劃線
			ds.setUnderlineText(true);
			// ds.clearShadowLayer();
		}

		@Override
		public void onClick(View view) {

			// 設定可點選文字的背景色
			if (view instanceof TextView)
				((TextView) view).setHighlightColor(Color.rgb(253, 65, 65));

			// Intent intent = new Intent();
			// intent.setClass(context, TwoActivity.class);
			// context.startActivity(intent);

		}

	}


Demo 下載地址