使用TextView实现跑马灯Marquee
16lz
2021-01-23
1、定义textView标签的4个属性:
android:singleLine="true"//使其只能单行
android:ellipsize="marquee"//去掉省略号
android:focusable = "true"//使其循环
android : focusableInTouchMode = "true"
//该方法可使一个TextView实现跑马灯效果,但该方法不能同时实现多个TextView同时实现跑马灯效果。 ·
2、自定义类继承TextView:
实现三个构造函数;
复写isfocued方法,返回true(默认都有有焦点,平常只有一个有焦点在第一行上)
3、使用自定义的类,方法是用包名和自定义类名代替TextView(src下的包名+类名)
MainActivity.java
package com.hmh.marqueedemo;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}
activity_main.xml
MarqueeTest.java
package com.hmh.marqueedemo;import android.content.Context;import android.util.AttributeSet;import android.view.ViewDebug.ExportedProperty;import android.widget.TextView;public class MarqueeTest extends TextView{ //实现TextView的三个构造函数 public MarqueeTest(Context context) { super(context); // TODO Auto-generated constructor stub } public MarqueeTest(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public MarqueeTest(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } //重写isFocused()方法 @Override @ExportedProperty(category = "focus") public boolean isFocused() { // TODO Auto-generated method stub return true; }}
更多相关文章
- C语言函数以及函数的使用
- Android jni系统变量、函数、接口定义汇总
- android 获取路径目录方法以及判断目录是否存在,创建目录
- 【Android 开发】:Android五种布局的使用方法
- Android 页面惯性回弹效果,Nested接口接口简单实现。
- sscanf函数引起android 5.0卡死,C++中慎用C库函数
- Android 碎屏效果 (Crack Screen,击碎屏幕)
- Android中的gen文件为空或者不存在的处理方法
- android按钮按下的效果