欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Android自定义TextView实现跑马灯功能,androidtextview,首先我们要实现走马灯这样

来源: javaer 分享于  点击 34951 次 点评:126

Android自定义TextView实现跑马灯功能,androidtextview,首先我们要实现走马灯这样


首先我们要实现走马灯这样一个效果,通常来说都是在TextView这个控件中来实现的,而且其中的文字一定是单行显示,如果多行显示,那走马灯效 果也就失去了存在的意义。谈到TextView的跑马灯,我们首先应该想到android:ellipsize="marquee"(start、end 属性表示前或者后省略),而如果要在view中实现跑马灯功能,就需要TextView改为Button,开启触控焦点在开启状态 android:focusableInTouchMode="true",否则是不会看到跑马灯效果的。 未用自定义TextView实现跑马灯代码:```xml <Button
android:focusableInTouchMode="true"
android:singleLine="true"
android:ellipsize="marquee"
android:text="未使用自定义TextView的跑马灯效果"
android:textSize="18sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>

 下面使用自定义TextView实现跑马灯:  先编写自定义TextView ```java    package com.zebra.mobilesafe.ui;      import android.content.Context;      import android.util.AttributeSet;      import android.view.ViewDebug.ExportedProperty;      import android.widget.TextView;      /**      * 自定义一个TextView,是他天生就有焦点      * @author Administrator      *      */      public class FocusTextView extends TextView {          public FocusTextView(Context context, AttributeSet attrs, int defStyle) {              super(context, attrs, defStyle);              // TODO Auto-generated constructor stub          }          public FocusTextView(Context context, AttributeSet attrs) {              super(context, attrs);              // TODO Auto-generated constructor stub          }          public FocusTextView(Context context) {              super(context);              // TODO Auto-generated constructor stub          }          /**          * 欺骗Android系统,让当前没有焦点的判断为true,实现button效果          */          @Override          @ExportedProperty(category = "focus")          public boolean isFocused() {              // TODO Auto-generated method stub              return true;          }      }  

然后在android的xml文件中,引用自定义实现,路径要是类的绝对路径xml <com.zebra.mobilesafe.ui.FocusTextView android:singleLine="true" android:ellipsize="marquee" android:text="使用自定义TextView的跑马灯效果" android:textSize="18sp" android:layout_width="fill_parent" android:layout_height="wrap_content" />这样就可以在TextView中实现跑马灯效果了。

相关栏目:

用户点评