您的位置:首页 > 其它

在ListView或GridView 中使用到跑马灯滚动效果实现的问题。

2015-06-17 14:42 531 查看
一般情况下TextView实现跑马灯效果只要设置一些几个属性即可实现了。

android:singleLine="true“//只显示单行

android:ellipsize="marquee" //实现滚动效果

android:focusable="true" //获取焦点,获取不到焦点是无法实现跑马灯滚动的

android:marqueeRepeatLimit="marquee_forever" // 无限循环滚动

android:marqueeRepeatLimit=”100“ 代表滚动100次

而且文字的长度大于控件的长度时才会出现跑马灯效果。

在Listview 或GridView 中由于其他控件的点击事件占取了焦点,使TextView无法获取到焦点,导致不能实现跑马灯的效果。

解决办法如下:

public class MyTextView extends TextView {

public AlwaysMarqueeTextView(Context context) {

super(context);

}

public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public AlwaysMarqueeTextView(Context context, AttributeSet attrs,

int defStyle) {

super(context, attrs, defStyle);

}

@Override

public boolean isFocused() {

return true;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: