Android TextView特效:跑马灯与阴影效果

5星 · 超过95%的资源 需积分: 9 5 下载量 25 浏览量 更新于2024-07-27 收藏 142KB DOC 举报
“知识共享-android TextView各种效果(雷惊风)” 在Android开发中,TextView是常用的UI组件之一,用于展示单行或多行文本。本文主要介绍了TextView的两种特殊效果:跑马灯效果和阴影效果。 1. 跑马灯效果: 跑马灯效果是指当TextView中的文本内容超过其宽度时,文本会像跑马灯一样持续滚动。实现这一效果的关键在于设置`android:ellipsize`属性。`android:ellipsize`属性用于控制当文本超出边界时如何处理,它可以设置为以下四种值: - "start":省略号出现在文本开头。 - "end":省略号出现在文本结尾,这是默认值。 - "middle":省略号出现在文本中间。 - "marquee":启用跑马灯效果。 要让TextView实现跑马灯效果,还需要结合其他属性一起使用,例如: - `android:marqueeRepeatLimit="marquee_forever"`:设置跑马灯无限循环。 - `android:focusable="true"`:使TextView可获取焦点。 - `android:focusableInTouchMode="true"`:在触摸模式下也能获取焦点。 - `android:singleLine="true"`:限制TextView只显示一行文本。 示例代码: ```xml <TextView android:id="@+id/marquee_effect" android:layout_width="100dip" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:marqueeRepeatLimit="marquee_forever" android:singleLine="true" android:text="@string/marquee_effect"/> ``` 如果页面上有多个TextView需要实现跑马灯效果,还可以在代码中设置`textview.setSelected(true)`。 2. 阴影效果: 为了给TextView添加阴影,可以使用以下四个属性: - `android:shadowDx`:设置阴影在水平方向上的偏移量。 - `android:shadowDy`:设置阴影在垂直方向上的偏移量。 - `android:shadowRadius`:设置阴影的模糊半径,值越大,阴影边缘越模糊。 - `android:shadowColor`:设置阴影的颜色。 例如,要在TextView中添加一个蓝色的阴影,可以这样设置: ```xml <TextView android:id="@+id/text_with_shadow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="带阴影的文本" android:shadowDx="3" android:shadowDy="3" android:shadowRadius="5" android:shadowColor="#0000FF"/> ``` 当然,这些属性也可以在代码中动态设置,通过`TextView`对象的`setShadowLayer(float radius, float dx, float dy, int color)`方法。 总结来说,通过巧妙地运用`android:ellipsize`、`android:marqueeRepeatLimit`、`android:focusable`等属性,以及`android:shadowDx`、`android:shadowDy`等阴影属性,开发者可以为Android应用的TextView创造出独特的视觉效果,提升用户体验。这些技巧在实际项目中非常实用,可以为界面增添动态感和层次感。