andriod给ListView中的TextView增加跑马灯效果
正常情况下跑马灯效果只需要在TextView中添加android:ellipsize="marquee" android:singleLine="true"
android:focusable="true"属性就可以了,不过这个方法要求指定的TextView必须要获取焦点,而在ListView中这个焦点的获取就变得疑惑了.
解决的方法按照惯例分三步:
1.作为子控件的TextView只添加android:ellipsize="marquee" android:singleLine="true"不添加android:focusable="true"属性
2.在ListView中添加android:focusable="true"属性
3.在代码中为需要显示走马灯效果的那个TextView添加setSelected(true);方法
?
viewHolder.checkInfotable.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {arg1.setSelected(true);}});?
?这是我的调用方法;
?
另外跑马灯效果默认是无限循环的,可以通过?android:marqueeRepeatLimit="1"属性来设置循环的次数