手记

Android指定文字变颜色方法

第一种情况:从哪儿到哪儿固定的换文字颜色

//XXXXXXX   MMMMM是你自定义的文字 即从后端接口获得的变换文字
String warehouseIn ="XXXXXXX";
        String warehouseOut = "MMMMM";
        String insertedNumStr = mContext.getString(R.string.ex_warehouse_in,warehouseOut,warehouseIn);
        //字体大小颜色不同
        SpannableString spannableString = new SpannableString(insertedNumStr);
        spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#0F41A6")), 3, warehouseOut.length()+3, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#44D7B6")), insertedNumStr.lastIndexOf(":")+1, insertedNumStr.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        holder.tvExIn.setText(spannableString);

第二种情况:部分指定文字规定颜色:

  SpannableString spannableString = new SpannableString(insertedNumStr);
        spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#0F41A6")), 6, insertedNumStr.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        holder.tvOrderNumber.setText(spannableString);

第三种情况:直接指定某段文字颜色:

//设置文字颜色
    holder.tvGoodsNumber.setTextColor(ContextCompat.getColor(mContext,R.color.colorHint));
    holder.TVSupplier.setTextColor(ContextCompat.getColor(mContext,R.color.colorHint));

前两种都需要计算起止位置,左含右不含原理.

1人推荐
随时随地看视频
慕课网APP