美文网首页
基于后台数据动态修改TextView的字体颜色(内附跑码效果Te

基于后台数据动态修改TextView的字体颜色(内附跑码效果Te

作者: Dale_Dawson | 来源:发表于2019-11-25 20:03 被阅读0次

    最开始是有一个无限循环跑马灯的需求,简言之就是字幕滚动效果,跑起来之后突然又问字体颜色可不可以动态修改?于是有了下文.....

    动态修改TextView的颜色值textColor

    1. 后台直接可以返回一个String类型的颜色值
    #99FFFFFF
    #FFFFFF
    

    带透明度和不带透明度的都是可以的

    1. 安卓端的代码
    int color = Color.parseColor("#99FFFFFF"); //将String类型的color转为int类型的color值
    textview.setTextColor(color); //将int类型的color值设置给textview
    

    遇到的坑

    查阅资料是发现textview.setTextColor(0x99FFFFFF)代码这样写是可以的,
    通知后台返回了一个"0x99FFFFFF",然后通过

    Integer.valueOf();
    Integer.decode()
    

    这两种方法将String类型的值转化成int,直接就报红了

    附上永久跑码灯效果的TextView代码

    public class ScrollingTextView extends TextView {
        public ScrollingTextView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }
    
        public ScrollingTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public ScrollingTextView(Context context) {
            super(context);
        }
    
        @Override
        protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
            if (focused)
                super.onFocusChanged(focused, direction, previouslyFocusedRect);
        }
    
        @Override
        public void onWindowFocusChanged(boolean focused) {
            if (focused)
                super.onWindowFocusChanged(focused);
        }
    
        @Override
        public boolean isFocused() {
            return true;
        }
    }
    

    有用自取

    相关文章

      网友评论

          本文标题:基于后台数据动态修改TextView的字体颜色(内附跑码效果Te

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