美文网首页
Android之实现指定文字变色的方法

Android之实现指定文字变色的方法

作者: Amy木婉清 | 来源:发表于2020-09-03 20:08 被阅读0次

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

    //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);
    

    第三种:指定一段字符串中某几个字体颜色

            SpannableString ss = new SpannableString("一般为值班人员岗位职责");
            ss.setSpan(new ForegroundColorSpan(Color.parseColor("#FA6400")), 3, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            holder.tvIntroduce.setText(ss);
    

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

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

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

    相关文章

      网友评论

          本文标题:Android之实现指定文字变色的方法

          本文链接:https://www.haomeiwen.com/subject/qdvosktx.html