美文网首页扩展
setTextColor(),setBackgroundColo

setTextColor(),setBackgroundColo

作者: Thomas_yy | 来源:发表于2017-06-09 14:40 被阅读34次

    Android SDK 升级到 23 之后,getResource.getColor(R.color.color_name) 过时,可以使用新加入的方法 ContextCompat.getColor(context, R.color.color_name) 。
    eg:
    viewHolder.tv_day.setTextColor(context.getResources().getColor(R.color.color_red));//过时
    viewHolder.tv_day.setTextColor(ContextCompat.getColor(context,R.color.color_white));

    顺嘴说一下
    setTextColor()的参数的设置方式:
    setTextColor(0xFF0000FF);//0xFF0000FF是int类型的数据,分组一下0x|FF|0000FF,0x是代表颜色整数的标记,ff是表示透明度,0000FF表示颜色,注意:这里0xFF0000FF必须是8个的颜色表示,不接受0000FF这种6个的颜色表示。

            另外还可以使用系统自带的颜色类
            setTextColor(Android.graphics.Color.BLUE);
    
            还有就是使用资源文件进行设置
    
    Paste_Image.png

    setTextColor(ContextCompat.getColor(context,R.color.blue));//通过获得资源文件进行设置。根据不同的情况R.color.blue也可以是R.string.blue或者R.drawable.blue,当然前提是需要在相应的配置文件里做相应的配置,如:
    <color name="blue">#0000FF</color>
    <drawable name="blue">#0000FF</drawable>
    <string name="blue">#0000FF</string>

    PS:如果是这种颜色#FFB032,也可以采用如下方法:
    static final int COLOR1 = Color.parseColor("#FFB032");
    textview.setTextColor(COLOR1);

    setBackgroundColor用法
    setBackgroundColor(Color.parseColor("#F5F5DC"));
    setBackgroundColor(Color.argb(0,79,79,79)); //0完全透明 255不透明

    setBackgroundDrawable(getResources().getDrawable(R.drawable.search_label_click));
    当出现:
    The method setBackgroundDrawable(Drawable) from the type View is deprecated
    时,(很明显是该函数被废弃了)把:
    setBackgroundDrawable
    换为
    setBackgroundResource
    即可。
    且传入的参数直接是resource的id,无需再去通过ID获得View,更加方便。
    eg:
    viewHolder.ll_today.setBackgroundResource(R.drawable.bg_today);

    相关文章

      网友评论

        本文标题:setTextColor(),setBackgroundColo

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