`
java-mans
  • 浏览: 11927235 次
文章分类
社区版块
存档分类
最新评论

Android实现多个跑马灯效果,多个文本框TextView的跑马灯

 
阅读更多

Android实现多个跑马灯效果,多个文本框TextView的跑马灯

一、新建一个Marquee类继承TextView

由于默认的跑马灯效果是需要TextView的方法isFocused为true的时候才会跑动的,而默认时,只有一个TextView处于focused状态,解决办法就是让所有要实现跑马灯效果的TextView都处于focused状态,因此要改写TextView类。于是新建一个Marquee类:

package org.shuxiang.test;


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

public class Marquee extends TextView
{
	public Marquee(Context context, AttributeSet attrs)
	{
		super(context, attrs);
	}
	
	@Override
	protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect)
	{
		// TODO Auto-generated method stub
		if(focused) super.onFocusChanged(focused, direction, previouslyFocusedRect);
	}
	
	@Override
	public void onWindowFocusChanged(boolean hasWindowFocus)
	{
		// TODO Auto-generated method stub
		if(hasWindowFocus) super.onWindowFocusChanged(hasWindowFocus);
	}
	
	@Override
	public boolean isFocused()
	{
		return true;
	}
}


二、布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    android:orientation="vertical" >
    
    <LinearLayout android:orientation="vertical"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content">
    
		<org.shuxiang.test.Marquee android:id="@+id/pmd1"
			android:layout_width="200dip"
			android:layout_height="wrap_content"
			android:layout_marginLeft="10dip"
			android:layout_marginRight="10dip"
			android:clickable="true"
			android:ellipsize="marquee"
			android:focusable="false"
			android:focusableInTouchMode="true"
			android:marqueeRepeatLimit="marquee_forever"
			android:scrollHorizontally="true"
			android:text="跑马灯文字1跑马灯文字1跑马灯文字1跑马灯文字1" />
   

    	<org.shuxiang.test.Marquee android:id="@+id/pmd2"
			android:layout_width="200dip"
			android:layout_height="wrap_content"
			android:layout_marginLeft="10dip"
			android:layout_marginRight="10dip"
			android:clickable="true"
			android:ellipsize="marquee"
			android:focusable="true"
			android:focusableInTouchMode="true"
			android:marqueeRepeatLimit="marquee_forever"
			android:scrollHorizontally="true"
			android:text="这里是第2个跑马灯噢!这里是第2个跑马灯噢!这里是第2个跑马灯噢!" />
			
		<org.shuxiang.test.Marquee android:id="@+id/pmd3"
			android:layout_width="200dip"
			android:layout_height="wrap_content"
			android:layout_marginLeft="10dip"
			android:layout_marginRight="10dip"
			android:clickable="true"
			android:ellipsize="marquee"
			android:focusable="true"
			android:focusableInTouchMode="true"
			android:marqueeRepeatLimit="marquee_forever"
			android:scrollHorizontally="true"
			android:text="》》》第3个跑马灯》》》第3个跑马灯》》》第3个跑马灯" />
	
    </LinearLayout>
</LinearLayout>

三、调用布局文件显示:

package org.shuxiang.test;
import android.app.*;
import android.os.*;
public class MainActivity extends Activity
{
	@Override	 
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
    }
}


分享到:
评论

相关推荐

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

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

    android TextView 跑马灯效果

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

    实现textView 跑马灯效果

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

    androidTextView实现跑马灯的效果

    实现跑马灯效果的关键在于设置`TextView`的几个关键属性: 1. `android:ellipsize="marquee"`:这个属性告诉`TextView`使用跑马灯模式来截断文本。默认情况下,如果文本太长,`TextView`会在末尾添加省略号。但设置...

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

    总结来说,实现Android TextView无焦点的跑马灯和水平滚动效果,主要涉及以下几个步骤:设置`singleLine`(或`maxLines`)、`ellipsize`、`scrollHorizontally`属性,以及在代码中调用`setMovementMethod`和`...

    Android ListView,TextView跑马灯Demo

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

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

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

    TextView 实现文字滚动播放效果效果(跑马灯)

    - 如果布局中有多个`TextView`设置了跑马灯效果,一次只能有一个能生效,因为Android系统一次只允许一个View拥有焦点。 4. **优化** - 为了提升用户体验,可以考虑添加动画效果,比如渐入渐出,使得滚动更自然。 ...

    使用TextView实现跑马灯效果

    本教程主要围绕如何在Android中使用`TextView` 实现跑马灯效果展开。首先,我们需要了解`TextView` 的基本属性和设置方法。在XML布局文件中,我们可以这样创建一个`TextView`: ```xml &lt;TextView android:id="@+id...

    完美实现多个textview 的跑马灯效果,外加各个textview的点击事件(用布局移动实现)

    本示例是关于如何在Android应用中完美实现多个`TextView`的跑马灯效果,并同时添加每个`TextView`的点击事件,通过布局移动来实现这一功能。 一、`TextView`的跑马灯效果实现 1. **属性设置**:首先,我们需要在...

    多个跑马灯效果 demo

    总结来说,"多个跑马灯效果 demo"是一个关于Android开发的实例,展示了如何在同一个界面上实现多个TextView的跑马灯效果。通过理解和实践这个示例,开发者可以提升对TextView特性和Android UI动态效果的掌握,进一步...

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

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

    android自定义横向跑马灯TextView(两种,即使一个字符也能跑马灯)

    "android自定义横向跑马灯TextView"就是一个典型的示例,它允许文字在一个视图内不断滚动,模拟LED显示屏上的跑马灯效果。这种效果通常用于显示通知、提示信息或者标题,即使只有一个字符也能实现滚动。 跑马灯效果...

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

    - 当屏幕中多个TextView使用跑马灯效果时,只有一个能同时滚动,其他会暂停,直到当前焦点转移。 以上就是关于在Android中实现TextView跑马灯效果的主要技术点。在实际项目中,开发者可以根据需求调整这些设置,以...

    android TextView实现跑马灯效果

    例如,在 RelativeLayout 中,如果有多个 TextView,并且每个 TextView 都设置了跑马灯效果,那么只有第一个 TextView 会实现跑马灯效果。如下所示: ```xml &lt;RelativeLayout xmlns:android=...

    android跑马灯效果,失去焦点也可以实现

    在Android开发中,"跑马灯"效果通常指的是TextView或者EditText的内容自动滚动,这种效果常见于通知栏消息、广告轮播等场景。标题提到的"android跑马灯效果,失去焦点也可以实现"意味着即使控件没有获取到焦点,仍然...

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

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

    android TextView跑马灯

    实现TextView的跑马灯效果主要涉及到两个关键属性: 1. `ellipsize`: 这个属性用于设置当文本过长时如何进行省略。为了实现跑马灯效果,我们需要将其设置为 `marqueeRepeatLimit`,这是一个特殊值,表示文本应该...

    Android中继承TextView实现文字的跑马灯效果

    总结一下,要实现“Android中继承TextView实现文字的跑马灯效果”,我们需要: 1. 创建一个新类,继承自TextView。 2. 重写关键方法,如onDraw(),onMeasure()和onLayout(),以实现文本滚动。 3. 使用定时器(如...

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

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

Global site tag (gtag.js) - Google Analytics