android SpannableString 設定文字特殊顯示
阿新 • • 發佈:2018-12-17
效果:
Spannable sp; if ("智慧接送".equals(id)){ //設定背景為空 view.tv_left_infocontext.setBackground(null); //SpannableString的具體內容 sp=new SpannableString("具體時間: "+infoJson); //AbsoluteSizeSpan是指絕對尺寸,通過絕對尺寸來改變文字的大小,,這裡的第二個引數為true, //則是以第一個引數的值,來設定文字的大小,0是指設定span開始的位置,5則是指設定span結束的位置, //最後一個引數,它有四種取值 //Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前後端都不包括,就是在指定字元前面或後面,插入新字元, //都不會應用新的樣式 //Spannable.SPAN_EXCLUSIVE_INCLUSIVE:前面不包括,後面包括,就是在指定字元範圍後面,插入新的 //字元,會有新的樣式,在前面不會 // Spannable.SPAN_INCLUSIVE_EXCLUSIVE:前面包括,後面不包括。 //Spannable.SPAN_INCLUSIVE_INCLUSIVE:前後都包括。 sp.setSpan(new AbsoluteSizeSpan(14,true),0,5,Spannable.SPAN_INCLUSIVE_INCLUSIVE); sp.setSpan(new AbsoluteSizeSpan(14,true),5,sp.length(),Spannable.SPAN_INCLUSIVE_INCLUSIVE); //設定前5個文字的顏色,以及設定剩餘文字的顏色 sp.setSpan(new ForegroundColorSpan(Color.parseColor("#000000")),0,5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); sp.setSpan(new ForegroundColorSpan(Color.parseColor("#918f8f")),5,sp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //rl_root,動態設定間距和背景顏色 RelativeLayout rl_root=(RelativeLayout)convertView.findViewById(R.id.rl_root); RelativeLayout.LayoutParams lp= (RelativeLayout.LayoutParams) rl_root.getLayoutParams(); lp.setMargins(20,0,40,0); rl_root.setLayoutParams(lp); rl_root.setBackgroundColor(Color.parseColor("#ffffff"));
}