zoukankan      html  css  js  c++  java
  • 循环滚动TextView

    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.util.Log;
    import android.widget.TextView;
    
    
    public class SlideTextView extends TextView implements Runnable {
        private int currentScrollX; 
        private boolean isStop = false;
        private int textWidth;
        private boolean isMeasure = false;
    
        public SlideTextView(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }
    
        public SlideTextView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public SlideTextView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
    
            super.onDraw(canvas);
            if (!isMeasure) { 
                getTextWidth();
                isMeasure = true;
            }
            Log.d("", "wmz:textWidth=" + textWidth);
        }
    
     
        private void getTextWidth() {
            Paint paint = this.getPaint();
            String str = this.getText().toString();
            textWidth = (int) paint.measureText(str);
        }
    
        @Override
        public void run() {
            Log.d("", "wmz:run-currentScrollX="+currentScrollX); 
            currentScrollX -= 1; 
            scrollTo(currentScrollX, 0);
            if (isStop) {
                return;
            }
            if (getScrollX() <= -(this.getWidth())) {
                scrollTo(textWidth, 0);
                currentScrollX = textWidth;
                // return;    
            }
            postDelayed(this, 50);
        }
    
         
        public void startScroll() {
            isStop = false;
            this.removeCallbacks(this);
            post(this);
        }
    
     
        public void stopScroll() {
            isStop = true;
        }
    
     
        public void startFor0() {
            currentScrollX = 0;
            startScroll();
        }
    }
    SlideTextView textView = (SlideTextView) findViewById(R.id.text_slide);
    textView.setText("123432432");
    textView.startScroll();
  • 相关阅读:
    noi.ac NOI挑战营模拟赛1-5
    TJOI2015 弦论
    CQOI2018 破解D-H协议
    NOI2013 矩阵游戏
    NOI2015 荷马史诗
    NOI2015 寿司晚宴
    SDOI2014 重建
    NOI1999 生日蛋糕
    NOI2015 程序自动分析
    ZJOI2008 泡泡堂
  • 原文地址:https://www.cnblogs.com/yangcong/p/5035305.html
Copyright © 2011-2022 走看看