文档章节

玩转Android 之 TextView常用特效

cokey
 cokey
发布于 2011/08/06 18:50
字数 687
阅读 15599
收藏 18

暑期大学生博客分享大赛 - 2011 Android 成长篇

    本文参加第二届Google大学生暑期博客分享大赛
    TextView是最常用的Android控件之一,显示文字时的首选,然而很多人都不满足于,TextView默认的显示效果,

希望加入诸如跑马灯,文字阴影的效果,下面我就来介绍下Android中文字跑马灯和文字阴影的简单实现方法。

    一,文字跑马灯

    同样的,先上效果图,

    实现起来非常简单,TextView中已经提供了多种显示接口,可以在文字显示不下时,以各种方式进行显示

例如

前置省略号
后置省略号

中间省略号
跑马灯显示

主要的区别在Xml中android:ellipsize 属性的不同

android:ellipsize

    设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——跑马灯的方式显示(动画横向移动)


由此只需要在Xml文件中设置TextView的ellipsize属性为marquee即可

<com.widget.ScrollForeverTextView

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:textSize="28dip" android:singleLine="true"

android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever"

android:textColor="#ffd0eeee" android:text="超出七个字会有跑马灯效果"

android:focusable="true" android:id="@+id/channel">

</com.widget.ScrollForeverTextView>
这里你一定发现了,笔者自定义了一个TextView对他进行了显示。原因是TextView只会在当获得焦点时才对文字显示效果进行相应,我们要实现一直显示跑马灯,需要对其进行自定义,方法很简单,覆盖TextView的isFocused()函数,让它一直返回true就行了

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

/**
 * 单行文本跑马灯控件
 * 
 * @author admin
 * 
 */

public class ScrollForeverTextView extends TextView {

	public ScrollForeverTextView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	public ScrollForeverTextView(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	public ScrollForeverTextView(Context context, AttributeSet attrs,
			int defStyle) {
		super(context, attrs, defStyle);
	}

	@Override
	public boolean isFocused() {
		return true;
	}

}
然后再将这个自定义的TextView显示屏幕上就大功告成了。
    二,文字阴影
    先上效果图

同跑马灯一样,Android也为TextView文字阴影提供了显示接口,可以方便的设置文字阴影

android:shadowColor
指定文本阴影的颜色,需要与shadowRadius一起使用。

android:shadowDx
设置阴影横向坐标开始位置。

android:shadowDy

设置阴影纵向坐标开始位置。

android:shadowRadius

设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。

如此,将这个TextView显示出来,漂亮的带有阴影的字体就出现了。
下一期我来讲解Android中各种让人抓狂的诡异Bug

© 著作权归作者所有

cokey
粉丝 17
博文 2
码字总数 2186
作品 0
成都
程序员
私信 提问
加载中

评论(3)

啥都别说了
不错,顶一个,这个平台,可以帮助我们快速搭建后台,建议你可以用用: http://www.bmob.cn/spread/redirect/?sid=11696199f24e8b68457f
Kross
Kross
感谢!
f
firefly
不错,顶一个
Android的TextView使用Html来处理图片显示、字体样式、超链接等

一、[Android实例]实现TextView里的文字有不同颜色 转eoe:http://www.eoeandroid.com/thread-4496-1-1.html 二、TextView显示html文件中的图片 转javaeye:http://da-en.javaeye.com/blog/7......

鉴客
2011/10/28
15.3K
3
Android项目实战(一): SpannableString与SpannableStringBuilder(转)

前言: 曾经在一些APP中的一些类似“帮助”“关于”的界面看过一行文字显示不同的颜色的效果,如下效果: 本软件是一款高、大、上的社区类软件。 一般来说,这应该是由一个TextView来显示的,...

听着music睡
2014/11/13
0
0
Android开发Toast特效详解

在Android开发中,Toast主要用于向用户显示提示消息,下面我们来具体看看Toast特效5种效果,你也可以根据自己的需求,自定义你需要的特效。 1.默认效果 代码: Toast.makeText(getApplicatio...

maiziedu
2015/01/21
907
2
设置带滚动条的TextView

转自:http://blog.csdn.net/yoyoysc/article/details/12514419 本来是想做一个显示文字信息的,当文字很多时View的高度不能超过一个固定的值,当文字很少时View的高度小于那个固定值时,按V...

mutouzhang
2014/04/17
1K
0
TextView的日常使用技巧

Textview在日常开发工作中使用非常频繁,在这里简单总结一下其比较重要的用法。目标是设置textview的中一段文字的显示属性,例如指定文字要下划线显示(@XXX、#XXX#),文字替换成图片,文字...

zhiweiofli
2013/07/05
502
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
昨天
64
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
昨天
26
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
昨天
41
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
昨天
27
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
昨天
44
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部