`

Android杂谈---TextView的跑马灯效果

 
阅读更多

下面的是转载自农民伯伯的文章,但是有些属性还不是很清楚,所以又在网上查了一下相关属性的作用,以备后用

http://www.cnblogs.com/over140/archive/2010/08/20/1804770.html

 

先上代码和效果

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="100px" 
    android:layout_height="wrap_content" 
    android:text="跑马灯效果:北京又开始下大雨了,看海!"
    android:textColor="@android:color/white"
    android:focusable="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:focusableInTouchMode="true"
    android:scrollHorizontally="true"
    />
</LinearLayout>
 

 


 为什么android:layout_width只有100px呢,而android:text又那么长呢?跑马灯效果其实就是在有限的长度里显示完比该长度长的内容,正如代码中的text是“跑马灯效果:北京又开始下大雨了,看海!”,它会循环的显示

 

另外,如果没有方向键和滚动球的话,即使设置了跑马灯的效果,也不能够看到效果,因为必须在当前的View上得到焦点后才能可能到效果。

 

下面在说说里面的拿几个不明白的属性

1、android:ellipsize:这就是跑马灯的设置,作用是当文字过长的时候,该控件如何显示所有的文字。

它有如下的选项:

(1)start:省略号显示在开头

(2)end:省略号显示在结尾

(3)middle:省略号显示在中间

(4)marguee:以跑马灯的方式显示(横向移动)

 

2、android:margueeRepeatimit:在ellipsize指定marques的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次循环

3、android:focusable=”true”:设置是否可聚焦。

4、android:focusableInTouchMode=”true”:设置是否触摸模式。

5、android:scrollHorzontally=”true”:设置文本超出TextView长度的情况下,是否出现横拉条

 

关于Touch Mode

    当用户在使用方向键或轨迹球浏览用户界面时,有必要给于一个焦点在可操作的组件上(如一个Button),使用户可以看到它将接受输入命令。如果设备有触摸功能,那么,当用户与界面的交互就不再需要有一个高亮在组件上,或一个焦点在view上,因此,模式的互动名为"触摸模式"。对于一个触摸设备,一旦有用户接触屏幕时,该设备将进入触摸模式.在点触某个View后,只有的它的方法isFocusableInTouchMode()返回为真时,才会有聚集焦点,如文本编辑工具。其他的界面只可以点触,但不会聚集焦点(高亮),如button 被点触时就不会聚集焦点,当它被按下时只会调用on-click监听器的回调方法。
    任何时候用户接触方向键或者滚动轨迹球时,该设备将退出触摸模式,并聚集焦点,用户可以恢复与用户界面的键盘交互,而不必在屏幕上。触摸模式的状态是由整个系统来维持的(all windows and activities),要查询目前所处的状态,你可以调用isInTouchMode()方法来获得,看看设备目前是否处于触摸模式。

 

  • 大小: 6.2 KB
分享到:
评论

相关推荐

    android TextView 跑马灯效果

    实现TextView的跑马灯效果主要涉及到两个关键属性:`android:singleLine`和`android:ellipsize`。`android:singleLine`属性使得TextView只显示一行文本,超出部分会被隐藏;而`android:ellipsize`属性则定义了超出...

    Android高级应用源码-跑马灯效果MarqueTextView textview 循环 跑马灯效果.zip

    本资源"Android高级应用源码-跑马灯效果MarqueTextView textview 循环 跑马灯效果.zip"提供了一个实现这一效果的示例,主要涉及到自定义控件MarqueTextView的使用。下面将详细介绍跑马灯效果的原理以及如何通过...

    Android自定义控件--1(TextView跑马灯效果)

    而跑马灯效果是TextView的一个扩展,它需要我们对Android的绘图系统、动画机制以及View的生命周期有深入的理解。 1. **绘图系统**:Android的绘图系统基于Canvas和Paint,TextView在onDraw()方法中绘制文本。我们...

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

    在Android开发中,为TextView添加跑马灯效果是一种常见的需求,它可以使得较长的文字在有限的空间内循环滚动显示,增加界面的动态感。本篇文章将详细讲解三种实现TextView跑马灯效果的方法。 ### 1. 使用`ellipsize...

    特效-textView跑马灯

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

    实现textView 跑马灯效果

    要实现TextView的跑马灯效果,通常需要结合Android的属性和自定义布局来完成。以下是详细步骤和相关知识点: 1. **设置Ellipsize属性**: TextView有一个名为`ellipsize`的属性,它允许我们在文本过长时添加省略号...

    Android ListView,TextView跑马灯Demo

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

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

    - `android:focusable` 和 `android:focusableInTouchMode`:两者都设置为`true`,确保TextView获取焦点并启动跑马灯效果。 2. **焦点管理**: - 跑马灯效果只有在TextView获得焦点时才会启动。因此,可能需要在...

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

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

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

    【跑马灯效果】在Android开发中,通常指的是TextView中的滚动文字效果,也称为Marquee效果,这种效果会让过长的文字在控件宽度内不断滚动,就像跑马灯一样。在老罗的视频中,他可能讲解了如何通过代码实现这一效果。...

    android TextView跑马灯

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

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

    首先,要实现TextView的跑马灯效果,我们需要在XML布局文件中设置`android:singleLine="true"`(对于API 26及以上版本,需使用`android:maxLines="1"`)和`android:ellipsize="marquee"`。这将使TextView单行显示,...

    Android-TagTextView包含标签的TextView

    `TagTextView`是一个专为Android平台设计的自定义视图,它扩展了标准的`TextView`类,增加了显示多个标签的功能。这个组件通常用于在界面上展示一组分类或者关键词,比如在新闻应用中显示文章标签,或者在社交应用中...

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

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

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

    本篇文章将详细介绍如何在Android中实现TextView的无焦点跑马灯和水平滚动效果。 首先,我们需要理解TextView的基础属性。`android:singleLine`属性用于将文本限制为一行,`android:ellipsize`属性则控制当文本超出...

    textview跑马灯效果

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,而"跑马灯效果"(Marquee)是一种特殊的效果,使得文本在TextView中像跑马灯一样不断滚动,尤其适用于显示过长的单行文本。这种效果通常在标题或者...

    安卓textView相关-通过改变TextView实现跑马灯效果并且触摸滑动时可以拖动文字.rar

    总结来说,这个压缩包文件提供了一种在Android中实现跑马灯效果和拖动文字的方法,开发者可以通过学习这些代码片段,了解如何自定义TextView以实现更丰富的交互功能。在实际应用中,开发者可能需要根据具体需求对...

    Android代码-可点击链接的TextView

    Android TextView-LinkBuilder Insanely easy way to create clickable links within a TextView. While creating Talon for Twitter, one of the most difficult things I encountered was creating these ...

Global site tag (gtag.js) - Google Analytics