package com.jxs.app.gridview.utils;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
/**
*
* @Author Jiangxs
* @Date 2011-7-21 上午12:06:24
* @Des 本类为跑马灯工具类 只要提供给一个要显示的字符串,一个TextView,就可以在这个TextView中实现跑马灯。
*/
public class Marquee {
private final int TEXT_OUT = 4;
private final int TEXT_IN = 5;
private String titleStr;// 跑马灯字符串
private int place = 1;// replace count
private TextView titleTextView;
public Marquee(String titleStr, TextView titleTextView) {
this.titleStr = titleStr;
this.titleTextView = titleTextView;
}
private Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {// 重写的方法用于接收Handler消息
super.handleMessage(msg);
if (msg.what == TEXT_OUT) {// 跑马灯向外出来时
titleTextView.setText(titleStr.substring(0, place));
} else if (msg.what == TEXT_IN) {// 跑马灯向里进去时
titleTextView.setText(titleStr.substring(place, titleStr
.length()));
}
}
};
public void menuThread() {
new Thread() {// 该线程用于标题栏跑马灯的实现
public void run() {
boolean control = true;
while (true) {
if (control) {// 出来时
myHandler.sendEmptyMessage(TEXT_OUT);
try {
Thread.sleep(300);// 睡觉300毫秒
} catch (Exception e) {// 捕获异常
e.printStackTrace();// 打印异常
}
if (place >= titleStr.length()) {
place = 1;
control = false;
} else {
place++;
}
} else {// 进去
myHandler.sendEmptyMessage(TEXT_IN);// 发送Handler消息
try {
Thread.sleep(200);// 睡觉300毫秒
} catch (Exception e) {// 捕获异常
e.printStackTrace();// 打印异常
}
if (place >= titleStr.length()) {
place = 1;
control = true;
} else {
place++;// 将place加一
}
}
}
}
}.start();
}
}
分享到:
相关推荐
在Android开发中,"android完美图片跑马灯"是一个常见的组件,主要用于展示一系列图片或文字,以滚动的方式形成一种动态视觉效果,类似于我们常见的广告轮播或者新闻滚动条。这种跑马灯通常需要实现头尾无缝衔接,以...
在Android开发中,实现"ImageView图片循环跑马灯效果"是一种常见的动态UI设计,它能够吸引用户的注意力并增强用户体验。跑马灯效果通常指的是图片在水平或垂直方向上连续滚动展示,给人一种动态循环的感觉,类似于...
总结,Android的垂直跑马灯和翻页公告是提高用户体验的重要工具。通过自定义View或利用内置组件,开发者可以创造出各种独特而吸引人的视觉效果。对于`MarqueeView-master`项目,深入研究其源码将有助于理解这些技术...
在Android开发中,布局式跑马灯是一种常见的动态效果,常用于新闻滚动、广告轮播等场景。然而,传统的TextView跑马灯效果并不能满足所有需求,例如,我们可能需要更复杂的布局或者自定义动画。本知识点将深入探讨...
在Android开发中,由于原生的视图组件不直接支持跑马灯效果,开发者通常需要自定义一个`TextView`或者使用第三方库来实现。以`AutoSwitchTextView`为例,这是一个可能的自定义跑马灯视图类名。这个类可能会扩展`...
1. 自定义View:为了实现跑马灯效果,开发者通常会扩展ImageView,创建一个自定义的类,例如`CircleImageView`或`MarqueeImageView`,在这个类中添加额外的功能,如滚动逻辑、定时器以及图片加载策略等。 2. 动画...
通过以上步骤,我们就成功地在Android应用中实现了跑马灯结合TextSwitcher的系统公告栏功能。这个功能不仅适用于公告栏,还可以应用于各种需要滚动展示信息的场景,如广告轮播、股票行情等。记得根据实际需求进行...
综上所述,“滚动消息跑马灯效果”是一种强大的视觉工具,能够有效地传达动态信息。开发者可以根据项目需求选择合适的技术栈和优化策略来实现这一效果,同时确保其在不同平台上的表现一致和流畅。
1. 自定义View:开发者可能会创建一个自定义的View类,继承自View或 ViewGroup,然后在这个自定义View中实现跑马灯的逻辑。这样可以完全控制布局、动画效果和交互行为。 2. RecyclerView/ViewPager:使用...
创建图片跑马灯控件,首先需要继承基础视图类(如Android的`View`或iOS的`UIView`),然后重写相关绘制方法,如`onDraw()`,在这里实现图片的滚动绘制逻辑。同时,还需要添加触摸事件处理,以便用户可以手动滑动浏览...
而“MarqueeText”可能是一个文件名,它可能是源代码文件的一部分,例如在JavaScript中可能是一个处理跑马灯效果的函数或类。 自定义跑马灯的实现涉及到的关键技术点可能包括: 1. **CSS动画**:在Web开发中,可以...
跑马灯效果在Android开发中通常被称为滚动文本或者_marquee_效果,它是TextView的一个特性,能够让文本在界面上持续滚动。在默认情况下,Android的TextView的marquee效果是无限循环的,但有时开发者可能需要根据特定...
总结,实现Android自定义TextView的跑马灯效果,主要涉及以下几个步骤: 1. 创建自定义TextView类,继承自AppCompatTextView。 2. 重写onDraw()方法,实现文本的滚动绘制。 3. 判断文本宽度和TextView宽度,决定是否...
在我们开发过程中,跑马灯这个功能非常实用的,在实现这个功能的时候,这个时候我们通常需要找demo来实现这个方法,我从github上面找到这个demo感觉很好用,所以就要实现了这个功能喽MarqueeView,看这个工具类,...
跑马灯效果通常涉及到在画布上移动图片的位置,这需要对Canvas和Paint类有深入理解。Canvas用于绘制,而Paint则设置绘制的颜色、样式等属性。 3. **动画原理**: 实现循环跑马灯效果,需要使用到Android的动画...
【标题】:“安卓跑马灯demo.rar”是一个与Android应用程序开发相关的压缩文件,其中包含了一个演示如何在Android平台上实现文字跑马灯效果的示例项目。跑马灯效果,也称为滚动文字或走马灯,常见于电子显示屏、手机...
1. **自定义View**:为了实现跑马灯效果,可能需要创建一个自定义的TextView类,继承自Android内置的TextView类。这样可以重写或扩展其默认行为,添加跑马灯的滚动逻辑。 2. **Marquee属性**:在XML布局文件中,...
这个类会继承自TextView,并实现跑马灯效果。源码中可能会包含以下关键部分: - **构造函数**:初始化控件,可能包括设置默认属性、注册监听器等。 - **onMeasure()**:测量控件的大小,确保能容纳下所有文本。 -...
3. **自定义设置**:这类软件通常允许用户根据个人喜好设置跑马灯的颜色、速度、闪烁模式等,以适应不同场景的需求。 4. **兼容性**:尽管软件是为三星S8设计,但理论上也可能兼容其他具有类似LED灯的安卓设备,但...
总之,MarqueeViewLibrary是一个强大的Android跑马灯组件库,通过MarqueeFactory和适配器机制,它提供了一种灵活且自定义程度高的方式来构建各种跑马灯效果。对于需要在应用中实现滚动视图效果的开发者来说,这是一...