* 本实例实现 textView 跑马灯的效果
* android:ellipsize=”marquee”
* android:focusable=”true”
* android:focusableInTouchMode=”true”
* 仅适用以上3条属性只能让第一个TextView 获取到焦点,只能第一个TextView实现 跑马灯效果,
* 我们这里使用自定义TextView 并重写 isFocused()方法 让4个textview都实现跑马灯效果
/***

主界面 activity 很简单只是一个普通的界面

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }}

自定义 textview

重写3个构造方法,并重写 isFocused()方法
/** *自定义 TextView 并重写 isFocused()方法 并返回 true 意思就是让所有的TextView获取焦点 */public class MarqueeText extends TextView {    public MarqueeText(Context context) {        super(context);    }    public MarqueeText(Context context, AttributeSet attrs) {        super(context, attrs);    }    public MarqueeText(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @Override    public boolean isFocused() {        return true;   //记得在这里 返回 true    }}

布局文件 在这里使用自定义textview 这里只是4个简单的textview

<?xml version="1.0" encoding="utf-8"?>"http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <com.gao.marqueetextview.MarqueeText        android:layout_margin="3dp"        android:id="@+id/textView2"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:ellipsize="marquee"        android:focusable="true"        android:focusableInTouchMode="true"        android:padding="5dp"        android:background="#f40"        android:singleLine="true"        android:text="@string/text"/>    <com.gao.marqueetextview.MarqueeText        android:id="@+id/textView"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:ellipsize="marquee"        android:focusable="true"        android:focusableInTouchMode="true"        android:padding="5dp"        android:background="#ff0"        android:singleLine="true"        android:text="@string/text"/>    <com.gao.marqueetextview.MarqueeText        android:layout_margin="5dp"        android:id="@+id/textView3"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:ellipsize="marquee"        android:focusable="true"        android:focusableInTouchMode="true"        android:padding="5dp"        android:background="#4f0"        android:singleLine="true"        android:text="@string/text"/>    <com.gao.marqueetextview.MarqueeText        android:layout_margin="5dp"        android:id="@+id/textView4"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:ellipsize="marquee"        android:focusable="true"        android:focusableInTouchMode="true"        android:padding="5dp"        android:background="#1a9"        android:singleLine="true"        android:text="@string/text"/>

项目运行效果图

更多相关文章

  1. Android软键盘弹出,界面整体上移
  2. Android(安卓)Studio下ActionBar示例
  3. Android(安卓)EditText自动获取焦点并弹出软键盘,解决EditText在
  4. Android(安卓)中不弹出软键盘的方法
  5. Android获取WIFI 的ssid 方法适配Android9.0
  6. Android基础面试题
  7. Android(安卓)出现 OutOfMemoryError 的一种解决方法
  8. android
  9. Android屏幕元素层次结构

随机推荐

  1. Android布局文件的属性值解析
  2. android日志分析与记录.
  3. Android(安卓)控件之Gallery图片集
  4. Android 文件的保存与读取之自带储存空间
  5. android 上层应用如何监听 sdcard的插拔
  6. Android(安卓)Studio 编译: Program type
  7. Android应用程序启动过程源代码分析(1)
  8. 【转】Android的电源管理
  9. Android 启动应用程序方式
  10. 分析脚本文件AndroidInitProcess分析心得