使用TextView实现跑马灯Marquee
16lz
2021-12-04
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; }}
更多相关文章
- Android(安卓)基础总结:(四)Activity(InstanceState)
- android两种方式实现发送短信的功能代码
- 两分钟彻底让你明白Android(安卓)Activity生命周期(图文)!
- Android使用ADB启动应用程序
- 马达 vibrator的android的timed_output实现方式
- android 获取路径目录方法以及判断目录是否存在,创建目录
- Android下实现一个手机监控摄像头
- Android实现微信分享及注意事项
- Android视音频录制实现步骤(Android学习随笔八)