zoukankan      html  css  js  c++  java
  • 一个页面多个TextView跑马灯,与焦点无关

    package com.travelsky.bluesky.utils;
    
    import android.content.Context;
    import android.graphics.Rect;
    import android.text.TextUtils;
    import android.util.AttributeSet;
    import android.widget.TextView;
    
    /**
     * 跑马灯效果 textview                              
     * @author  zbtu
     * @date    2013-4-22 上午8:55:44                                                              
     */
    public class MarqueeTextView extends TextView
    {
        public MarqueeTextView(Context context)
        {
            this(context, null);
        }
        
        public MarqueeTextView(Context context, AttributeSet attrs)
        {
            super(context, attrs);
            
            setFocusable(true);
            setFocusableInTouchMode(true);
            
            setSingleLine();
            setEllipsize(TextUtils.TruncateAt.MARQUEE);
            setMarqueeRepeatLimit(-1);
        }
        
        public MarqueeTextView(Context context, AttributeSet attrs, int defStyle)
        {
            super(context, attrs, defStyle);
            
            setFocusable(true);
            setFocusableInTouchMode(true);
            
            setSingleLine();
            setEllipsize(TextUtils.TruncateAt.MARQUEE);
            setMarqueeRepeatLimit(-1);
        }
    
        @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;
        }
    }

    因为已经做了焦点等处理,所以不用再配置

    android:ellipsize="marquee"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:gravity="center_vertical"
    android:marqueeRepeatLimit="marquee_forever"

    直接引用即可

  • 相关阅读:
    Unix Programming :文件IO
    Git 小记
    Effective C++ Placement new
    Effective C++ 避免数组多态
    系列文章:云原生Kubernetes日志落地方案
    阿里巴巴大数据产品最新特性介绍--机器学习PAI
    Apache Flink 1.9.0版本新功能介绍
    Flink Checkpoint 问题排查实用指南
    进击的 Java ,云原生时代的蜕变
    8 分钟入门 K8s | 详解容器基本概念
  • 原文地址:https://www.cnblogs.com/anee/p/3039959.html
Copyright © 2011-2022 走看看