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 跑马灯效果; 具体说明可以看这里 http://blog.csdn.net/q610098308/article/details/49451537
实现textView 跑马灯效果
androidTextView实现跑马灯的效果
ListView每项跑马灯效果,TextView跑马灯自己写的Demo
android自定义横向跑马灯TextView(两种,即使一个字符也能跑马灯)
完美实现多个textview 的跑马灯效果,外加各个textview的点击事件(用布局移动实现)
一个垂直滚动TextView跑马灯效果的Demo,效果很棒
前面我的博客中有一篇就是用Android自带的跑马灯效果的,但是基于不同的使用效果,这里在网上找到了一个更好的方法。沿用了作者的一些方法,但是添加了更好的扩展功能,和大家一起分享。这里面有控制往左往右两个...
android textview 无焦点 跑马灯 水平滚动 代码 和apk程序
主要为大家详细介绍了android TextView实现跑马灯效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
通过改变TextView实现跑马灯效果,并且触摸滑动时可以拖动文字.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android中继承TextView实现文字的跑马灯效果,详细了解请移步http://blog.csdn.net/zxc514257857/article/details/70184606
遇到一行文字过长不能全部显示时,需要滚动显示,可下载此代码,研究跑马灯效果的实现方法。
本文实例为大家分享了Android TextView实现跑马灯效果的具体代码,供大家参考,具体内容如下 当Layout中只有一个TextView需要实现跑马灯效果时,操作如下。 ...当有多个TextView想实现跑马灯效果
实现了TextView系统跑马灯效果,但当textview的长度超过指定长才有效果。
本代码,实现TextView的文字滚动播放效果,跑马灯特效,构成简约实用,感觉好点赞
一个页面内,同时让实现多个textview呈现跑马灯效果
TextView循环改变大小的跑马灯效果
自定义TextView实现竖直跑马灯效果,特殊字符串改变颜色