`
iaiai
  • 浏览: 2204160 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android TextView跑马灯效果

 
阅读更多
所谓跑马灯效果就是当文字超过控件所能容纳的空间时,在控件内滚动的效果。

走马灯的效果主要是通过android:singleLine,android:ellipsize,android:marqueeRepeatLimit,android:focusable属性来配置的。
android:singleLine="true"
android:ellipsize="marquee"
android:focusableInTouchMode="true"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"

  • android:singleLine=true 表示使用单行文字,多行文字也就无所谓使用Marquee效果了。
  • android:marqueeRepeatLimit,设置走马灯滚动的次数。
  • android:ellipsize,设置了文字过长时如何切断文字,可以有none, start,middle, end, 如果使用走马灯效果则设为marquee.
  • android:focusable,Android的缺省行为是在控件获得Focus时才会显示走马灯效果


显示跑马灯效果的前提条件就是你的文本内容要比显示文本的外部组件长,即外部组件无法完整的显示内部的文本内容。

因此要实现跑马灯效果有两种设置方式:

1、layout_width=”"设置为成比文本内容短的固定值,最好不要写成wrap_content或者fill_parent。

2、如果layout_width=”"设置wrap_content或者fill_parent,那么可以增加上 android:paddingLeft="15dip",android:paddingRight="15dip"使两端的距离加大而无法全部显示文本内容,但是这有一个缺陷就是在手机的屏幕变大时,距离没有变大,外部组件又可以正常显示内部文本,于是又无法显示跑马灯效果,因此建议第一种设置为佳。


另外还可以设置滚动的次数android:marqueeRepeatLimit=”";android:marqueeRepeatLimit=”marquee_forever”表示一直滚动。

当有些情况下需要是文字一直滚动以引起用户注意,这是可以使用派生TextView,重载onFocusChanged,onWindowFocusChanged,isFocused 这三个方法。

修改一下本例,添加一个ScrollAlwaysTextView类:
public class ScrollAlwaysTextView extends TextView {

 public ScrollAlwaysTextView(Context context) {
 this(context, null);
 }

 public ScrollAlwaysTextView(Context context, AttributeSet attrs) {
 this(context, attrs, android.R.attr.textViewStyle);
 }

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

 @Override
 protected void onFocusChanged(boolean focused, int direction,
 Rect previouslyFocusedRect) {
 if (focused)
 super.onFocusChanged(focused, direction, previouslyFocusedRect);
 }

 @Override
 public void onWindowFocusChanged(boolean focused) {
 if (focused)
 super.onWindowFocusChanged(focused);
 }

 @Override
 public boolean isFocused() {
 return true;
 }
}
分享到:
评论

相关推荐

    android TextView 跑马灯效果

    总的来说,Android的TextView跑马灯效果是通过结合XML布局属性和代码控制实现的,它为展示长文本提供了灵活的解决方案,特别是在有限的空间内。理解和掌握这个功能对于Android开发者来说非常有用,可以提升用户体验...

    android TextView跑马灯

    以上就是关于Android中TextView跑马灯效果的基本介绍和实现方法。通过合理设置属性和编写适当的代码,我们可以创建出满足需求的跑马灯效果。同时,自定义的MarqueeTextView可能会提供更丰富的定制选项,以适应各种...

    android三种方式实现TextView跑马灯效果

    本篇文章将详细讲解三种实现TextView跑马灯效果的方法。 ### 1. 使用`ellipsize`属性 #### 1.1 XML布局配置 首先,在XML布局文件中,可以通过设置`ellipsize`属性为`marquee`来开启跑马灯效果。同时,`singleLine...

    TextView滚动,跑马灯效果终极解决方案

    通过分析这些测试,开发者可以更好地理解和掌握在不同情况下的TextView跑马灯效果,以应对实际开发中的各种需求。 总之,实现TextView的跑马灯效果需要注意焦点、宽度、延迟启动、嵌套视图等因素。通过对这些问题的...

    Android TextView跑马灯效果实现方法

    本文将详细介绍如何在Android中实现TextView的跑马灯效果。 首先,跑马灯效果的实现主要依赖于两个关键属性:`ellipsize`和`marqueeRepeatLimit`。这两个属性需要在XML布局文件中设置。`ellipsize`属性定义了当文本...

    老罗视频代码textview跑马灯效果

    综上所述,"老罗视频代码textview跑马灯效果"主要涉及的是Android中TextView的跑马灯效果实现,包括XML属性配置、代码逻辑设置以及可能遇到的问题和解决策略。通过理解这些知识点,开发者可以灵活地在自己的应用中...

    实现textView 跑马灯效果

    通过以上步骤,我们可以实现一个基本的TextView跑马灯效果。如果要实现更复杂的滚动效果,例如垂直滚动或自定义动画,可能需要使用其他技术,如自定义ViewGroup或使用第三方库。在实际开发中,根据项目需求选择最...

    简单的textview 跑马灯效果 可直接使用

    以上就是关于在Android中实现TextView跑马灯效果的主要技术点。在实际项目中,开发者可以根据需求调整这些设置,以达到理想的跑马灯滚动效果。文件"newZx1"可能包含了一个示例项目或代码片段,用于演示如何实现这一...

    自定义TextView跑马灯效果

    Android自带的跑马灯效果不太好控制,还必须要满足条件才能有效果,而且速度不受控制。前面我的博客中有一篇就是用Android自带的跑马灯效果的,但是基于不同的使用效果,这里在网上找到了一个更好的方法。沿用了作者...

    android textview 无焦点 跑马灯 水平滚动

    在创建APK程序时,你需要将这个包含跑马灯效果的TextView集成到你的Activity或Fragment中,并确保其他必要的依赖和资源已添加。你可以使用Android Studio进行编译和打包,生成的APK文件可以直接在Android设备上安装...

    TextView跑马灯、闪烁和跳动动画

    然而,为了增强用户体验,开发者常常会为TextView添加各种动画效果,如跑马灯、闪烁和跳动等。这些动态效果可以吸引用户的注意力,使得应用更加生动有趣。 首先,让我们来讨论“跑马灯”效果。跑马灯,又称为滚动...

    android TextView实现跑马灯效果

    Android TextView 实现跑马灯效果 Android TextView 实现跑马灯效果是 Android 开发中常见的需求之一。跑马灯效果是指文本滚动的效果,常用于展示长文本内容。本文将详细介绍如何使用 Android TextView 实现跑马灯...

    Android ListView,TextView跑马灯Demo

    综上所述,这个"Android ListView,TextView跑马灯Demo"展示了如何在ListView的每一项中实现TextView的跑马灯效果。通过正确设置TextView的属性和ListView的焦点管理,我们可以在应用中创建出动态、吸引人的UI元素,...

    textview(跑马灯效果)文字长短不限循环播放

    标题“textview(跑马灯效果)文字长短不限循环播放”所描述的就是这样一个功能,即在TextView中实现一个不受文本长度限制、可以自动循环滚动的跑马灯效果,而且这个效果不需要TextView获取焦点也能运行。...

    特效-textView跑马灯

    在Android开发中,"特效-textView跑马灯"是一种常见的UI动态效果,它通常用于显示滚动的文字信息,比如新闻标题或者广告标语。这种效果模仿了实际生活中的跑马灯,即文字在一个固定区域里循环滚动,给人一种连续不断...

    textview跑马灯效果

    在TestPMD2这个项目中,可能包含了实现TextView跑马灯效果的相关代码示例或资源文件,你可以查阅这些文件来学习和理解具体实现方法。通过这些知识,你就能创建出具有跑马灯效果的TextView,为你的Android应用增添...

    Android垂直滚动TextView跑马灯Demo

    跑马灯效果在Android中通常是通过自定义View或者对现有控件进行扩展来实现的,而在这个Demo中,我们将重点讨论如何在TextView中实现垂直滚动的效果。 首先,TextView是Android中最基础的文本显示控件,它通常用于...

    Android自定义TextView跑马灯效果

    "Android自定义TextView跑马灯效果" Android 自定义TextView跑马灯效果是指在 Android 平台上通过自定义TextView实现跑马灯滚动效果。下面是关于Android自定义TextView跑马灯效果的知识点: 1. TextView 的跑马灯...

    androidTextView实现跑马灯的效果

    在Android开发中,`TextView`是用于显示文本的常见组件。当需要创建一种滚动文本效果,...总之,通过合理设置`TextView`的相关属性,可以在Android应用中轻松实现跑马灯效果,为用户提供动态且引人注目的文本展示方式。

    Android文字跑马灯效果

    1. **属性设置**:在XML布局文件中,可以通过设置`android:singleLine="true"`和`android:ellipsize="marquee"`来使TextView启用跑马灯效果。`singleLine`表示单行显示,`ellipsize`则定义了超出文本显示范围时如何...

Global site tag (gtag.js) - Google Analytics