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 countprivate TextView titleTextView;public Marquee(String titleStr, TextView titleTextView) {this.titleStr = titleStr;this.titleTextView = titleTextView;}private Handler myHandler = new Handler() {@Overridepublic 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();}}

更多相关文章

  1. InputStream与String/byte[]相互转换
  2. Android中对图像进行Base64编码
  3. Android(安卓)handler.obtainMessage()传字符串用法
  4. Android(安卓)DrawText字符串的绘制
  5. Android(安卓)加密解密字符串
  6. android 时间戳与日期格式的互相转换 以及 自定义选择器
  7. android: MapView加载多个 overlay 内存溢出
  8. android 时间戳与日期格式的互相转换 以及 自定义选择器
  9. Android中对图像进行Base64编码

随机推荐

  1. android基本架构
  2. android 实现静默安装、卸载(图)
  3. Android项目运行提示
  4. Android(安卓)进阶之 Android消息机制Han
  5. android 中activity 属性说明
  6. Android中Activity的四种启动模式详解
  7. Android(安卓)中级教程之------Android(
  8. Android日志输出单元测试Debug
  9. Android(安卓)NDK会带来什么,除去你对NDK
  10. Windows平台下搭建Android原生C/C++开发