textview跑马灯效果有两种方法:
android:ellipsize="marquee" //跑马灯效果
android:marqueeRepeatLimit="marquee_forever"//无限循环
android:singleLine="true"//单行显示
当焦点离开该TextView时,取消该TextView的滚动效果:
textView.setEllipsize(TruncateAt.END);
android:focusable="true"//是否获取焦点(重点要获取焦点)
android:focusableInTouchMode="true"//通过Touch获取焦点
以上布局属性设置完毕,重点还有一个: public class AutoScrollTextView extends TextView { public AutoScrollTextView(Context context) { super(context); }
public AutoScrollTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AutoScrollTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean isFocused() {//必须重写,且返回值是true
return true;
}
}
第二种方法:不用设置这么多乱七八糟的,只用android:ellipsize="marquee",在设置textview.setSelected(true);就能获取焦点了。
butterknife的坑:
安装了插件后 还需要在build.gradle(app) 写上
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
在build.gradle(project)里配置一行代码。 然后不行的话 还得再build.gradle(app)里的buildTypes的平行目录配置
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
才可以运行。
实现双击 可以使用handler.postDelayed. Default_time为400毫秒。代码中既有单击,又有双击。
