編輯:關於Android編程
在這裡先看看效果圖:

OK,有時候,在我們的項目中會要求TextView中文本有一部分的字體顏色不一樣,這時我們應該使用
SpannableStringBuilder這個工具類,當然這個類的功能很強大,這裡我只是實現上面的樣式,其它的不做介紹,
SpannableStringBuilder的實現接口是Spannable這個接口,而Spannable最終都實現了CharSequence,因此我們直
接可以通過TextView.setText()來進行設置。
下面給出實現代碼:
public class StringFormatUtil {
private SpannableStringBuilder spBuilder;
private String wholeStr, highlightStr;
private Context mContext;
private int color;
private int start = 0, end = 0;
/**
*
* @param context
* @param wholeStr 全部文字
* @param highlightStr 改變顏色的文字
* @param color 顏色
*/
public StringFormatUtil(Context context,String wholeStr,String highlightStr,int color){
this.mContext=context;
this.wholeStr=wholeStr;
this.highlightStr=highlightStr;
this.color=color;
}
public StringFormatUtil fillColor(){
if(!TextUtils.isEmpty(wholeStr)&&!TextUtils.isEmpty(highlightStr)){
if(wholeStr.contains(highlightStr)){
/*
* 返回highlightStr字符串wholeStr字符串中第一次出現處的索引。
*/
start=wholeStr.indexOf(highlightStr);
end=start+highlightStr.length();
}else{
return null;
}
}else{
return null;
}
spBuilder=new SpannableStringBuilder(wholeStr);
color=mContext.getResources().getColor(color);
CharacterStyle charaStyle=new ForegroundColorSpan(color);
spBuilder.setSpan(charaStyle, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return this;
}
public SpannableStringBuilder getResult(){
if (spBuilder != null) {
return spBuilder;
}
return null;
}
}
的顏色。
public class MainActivity extends Activity {
private TextView tv_show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
tv_show = (TextView) findViewById(R.id.tv_show);
String wholeStr = 想要改變後面的顏色這是要改變的顏色;
StringFormatUtil spanStr = new StringFormatUtil(this, wholeStr,
這是要改變的顏色, R.color.blue).fillColor();
tv_show.setText(spanStr.getResult());
}
}
Android解決WebView的定位功能、視頻全屏播放、下載功能、頁面Url的處理、進度條處理
事先說明:定位功能在安卓6.0需要用戶手動確認權限後才能使用若需在安卓6.0適配WebView的定位功能,則需要在WebView中手動增加用戶權限訪問詳細可百度安卓6.0
(Android 基礎(十三)) selector
介紹A StateListDrawable is a drawable object defined in XML that uses a several differe
Android 菜單簡析01(OptionsMenu)
Android 的菜單機制,在 Android 3.0 之前和之後有很大的去別,Android 3.0 推出 ActionBar ,導航的 UI 交互有很大的變化,但菜單
代碼分析Android實現側滑菜單
Android 側滑菜單的實現,參考網上的代碼,實現側滑菜單。最重要的是這個動畫類UgcAnimations,如何使用動畫類來側滑的封裝FlipperLayout。1、實