登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 834|回复: 0

【Android教程】textview实现跑马灯效果

[复制链接]

444

主题

509

帖子

2051

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2051

荣誉管理论坛元老

发表于 2021-6-20 20:23:21 来自手机 | 显示全部楼层 |阅读模式 来自:
  1. 实现跑马灯效果的TextView
    ! w) B. s" T( o/ A, Y. W+ O

  2. ) j- R7 _2 G5 y- O4 `
  3. import android.content.Context;
    ! M7 r$ S0 `( o7 s
  4. import android.util.AttributeSet;
      l2 L4 A# `( J4 _4 b$ l" Q3 e
  5. import android.widget.TextView;) E* l! J( @( |& Z6 W; R0 |

  6. 5 N. K$ D- V6 x% L' h# d
  7. /**
    , B: {2 L6 C* _
  8. * 实现跑马灯效果的TextView) D6 a8 G" s  A8 f" S
  9. */
    6 ]- `% c) _% M$ S. o" {
  10. public class MarqueeTextView extends TextView {( d& `; k# d; D' W1 h
  11.     private boolean mNeedFocus;0 Y" m2 x$ ?9 }1 G9 m8 Q
  12.     public MarqueeTextView(Context context) {
    4 }9 c' g0 c$ A
  13.         super(context);
    : {3 b6 Q" L7 n5 u+ z' |8 S
  14.     }
      ^" f5 H- E; v: N+ W' z
  15.     public MarqueeTextView(Context context, AttributeSet attrs) {
    4 C, I- `2 b* M2 S+ G& x9 K6 P
  16.         super(context, attrs);' H; d+ i0 G/ h  \
  17.     }
      b( K% y9 [6 p1 s  Y* f7 K# g
  18.     public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) {
    0 P5 Y5 D8 O" m8 u9 v7 Y# x
  19.         super(context, attrs, defStyleAttr);" M/ `- H8 n' V% Z& j/ J! S3 O! n+ F
  20.     }6 u' `" N/ Y) N8 f, P' f- [
  21.     //返回textview是否处在选中的状态
    " ~1 w( w" M: U; i2 _
  22.     //而只有选中的textview才能够实现跑马灯效果
    6 Y0 E9 t* z. {* d! d' O; k' a
  23.     @Override: P5 k& {. i/ C# p( |7 S3 M2 D- S
  24.     public boolean isFocused() {
    + ~! S3 W) y2 _) |7 i$ E; k  x
  25.         if (mNeedFocus) {8 ?4 k6 ?/ g( {8 y3 ]/ m- v9 L
  26.             return false;4 w3 ]( ]% ^7 g5 L
  27.         }7 ]5 D; H+ N1 f0 Q
  28.         return super.isFocused();
    4 m! {0 a( J& O3 q( c+ Z; _3 s" ^; y+ H
  29.     }
    ! y: h; H9 |' N

  30. : i5 A' f/ q& E' v9 h$ m7 L
  31.     public void setNeedFocus(boolean needFocus) {
    2 n, A; H% {& f# o9 K4 j. S
  32.         mNeedFocus = needFocus;
    * j1 ^3 w$ |1 `+ @( p; N, X- O- j- v
  33.     }
    9 T4 m  \# ]) T. T% w7 j& k3 H2 p
  34. }
    : x2 e) ~3 A; S0 I/ O' N/ i
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|星空社区 |网站地图

GMT+8, 2024-5-6 13:07 , Processed in 0.051959 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表