一个控件(View或者是其他控件)设置不同的字体颜色

方式一:使用HTML(以Button为例)
步骤一:布局文件中声明
步骤二:findById
步骤三:
long time = millisUntilFinished / 1000;
String showBtn=""等待" + ("<font color='#FF0000'>"+time+"</font>") + "秒自动返回";
btnToast.setTextColor(Color.WHITE);
btnToast.setClickable(false);
btnToast.setText( Html.fromHtml(showBtn) );
btnToast.setBackgroundResource(R.drawable.drink_water_toast_shape);
这样就可以实现整体的颜色是白色,而time的颜色是红色的了


方式二:使用SpannableStringBuilder展示出不同的颜色(以EditText为例)
     editText = (EditText)findViewById(R.id.edit);  
        //改变字体颜色  

        //先构造SpannableString  
        SpannableString spanString = new SpannableString("欢迎光临我的博客");    
       //再构造一个改变字体颜色的Span  
        ForegroundColorSpan span = new ForegroundColorSpan(Color.BLUE);    
        //将这个Span应用于指定范围的字体  
        spanString.setSpan(span, 1, 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
        //设置给EditText显示出来  
        editText.setText(spanString); 

猜你喜欢

转载自blog.csdn.net/K2514091675/article/details/76208929