TextView常用设置操作方法(续)

滑动/滚动类:TextView提供接口实现文字的滑动和滚动效果(文字比控件长)

  1.实现滑动:setMovementMethod(ScrollingMovementMethod.getInstance()):需要配合使用的属性设置

<span style="white-space:pre">			</span>android:scrollbars="vertical"
			android:singleLine="true"
			android:ellipsize="marquee"
			android:marqueeRepeatLimit="marquee_forever"

   2.实现滚动(跑马灯):可以在XML文件中设置,也可以在Java中设置

<span style="white-space:pre">			</span>android:singleLine="true"
			android:ellipsize="marquee"
			android:marqueeRepeatLimit="marquee_forever"
			android:focusableInTouchMode="true"
			android:focusable="true"
			android:scrollHorizontally="true"</span>

        mText2.setSingleLine();// 单行显示
        mText2.setEllipsize(TextUtils.TruncateAt.MARQUEE);// 对超出控件的文字,设置跑马灯值
        mText2.setMarqueeRepeatLimit(-1);// 滚动次数
        mText2.setFocusable(true); // 设置可以获取焦点
        mText2.setFocusableInTouchMode(true);
        mText2.setHorizontallyScrolling(true);// 设置可以水平滑动

下面这段代码也可以实现跑马灯效果:

<span style="white-space:pre">	</span>/**
         * 设置文字滚动,跑马灯效果
         */
        final TextView scroll = new TextView(this);

        scroll.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT));
        scroll.setText("点击显示TextView实现的跑马灯效果,点击显示TextView实现的跑马灯效果," +
                "点击显示TextView实现的跑马灯效果");
        // 在同一个活动界面中只有一个控件可以设置:setFocusableInTouchMode(true),
        // 跑马灯和错误提示效果有冲突,所以添加了这个点击事件
        scroll.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                scroll.setFocusableInTouchMode(true);
            }
        });
        scroll.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 20);
        scroll.setSingleLine();// 单行显示
        scroll.setEllipsize(TextUtils.TruncateAt.MARQUEE);// 对超出控件的文字,设置跑马灯值
        scroll.setMarqueeRepeatLimit(-1);// 滚动次数
        viewContainer.addView(scroll);

   3.setScroller(Scroller scroller):这个方法需要借助Scroller对象完成,TextView中有一个私有的Scroller类对象,这个方法后面会有专门的文章介绍[先分析 Scroller类,然后说TextView和Scroller的配合使用 ]。

链接类,TextView提供显示文字接收点击事件,链接到电话或者网址的功能。

  1.setAutoLinkMask(int mask):设置链接类型,值定义在Linkfy类中(支持NONE不自动识别,WEB_URLS网络地址,PHONE_NUMBERS手机号码,EMAIL_ADDRESSES邮箱地址,MAP_ADDRESSES地图位置,ALL所有上面四种---共六个值)。

  2.setLinksClickable(boolean whether):设置识别的链接文字是否可以点击;

  3.setLinkTextColor(int color): 设置识别到的链接文字的颜色;

  4.setText:这里要说明的是,上面的设置必须在文字设置之前完成,否则无法识别文字中的链接字符。

说明:上面的识别是控件自动识别,并不是把整个字符串识别成链接,而是可以把字符串的一部分识别成链接形式。

        mText3.setAutoLinkMask(Linkify.PHONE_NUMBERS);
        mText3.setLinksClickable(true);
        mText3.setLinkTextColor(Color.RED);
        mText3.setText("服务号码:10086");

        mText4.setAutoLinkMask(Linkify.WEB_URLS);
        mText4.setLinksClickable(true);
        mText4.setLinkTextColor(Color.RED);
        mText4.setText("CSDN网址:http://www.csdn.net/");

5.HTML方式给出链接:TextView支持使用HTML填充字符串。

        StringBuffer sb = new StringBuffer();
        sb.append("<h6><b><i><font color='#000000'><a href='http://www.csdn.net'>");
        sb.append("点击进入CSDN");
        sb.append("</a></font></i></b></h6>");
        mText5.setText(Html.fromHtml(sb.toString()));
<span style="white-space:pre">	</span>// 这句很重要,使超链接<a href>起作用
        mText5.setMovementMethod(LinkMovementMethod.getInstance());

动画:TextView从View继承支持动画的接口

1.postOnAnimation(java.lang.Runnable action)

2.postOnAnimationDelayed(java.lang.Runnable action, long delayMillis)

3.postInvalidateOnAnimation()

4.postInvalidateOnAnimation(int left, int top, int right, int bottom)

5.clearAnimation() 

6.getAnimation()

7.startAnimation(android.view.animation.Animation animation)

8.setAnimation(android.view.animation.Animation animation)

这两个方法都可以使TextView执行给定的动画,但是需要触发事件。

9.onAnimationStart()

a.onAnimationEnd()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值