继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android指定文字变颜色方法

Amy_木婉清
关注TA
已关注
手记 28
粉丝 2
获赞 22

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

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

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

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP