RecyclerView中TextView使用marquee效果无效

在开发过程中,发现Recyclerview中的TextView设置了跑马灯marquee效果无效,在网上查了很多资料,各说纷纭,试验后都不理想,在此做记录。

控件,需要设置属性:

  

注意:1、这里使用了

true

使用“maxLines=1”反而没有效果,资料上查了很多说要使用maxLines的。
2、使用

marquee_forever

默认时,跑马灯会运行三次就停了,设置“marquee_forever”会无限重复

注意:不要添加 android:selectAllOnFocus="true" ,如果添加,虽然也会有跑马灯效果,但会出现点点点

重点来了,光在xml文件里设置是没有用的,需要在RecyclerViewAdapter中,onBindViewHolder中获取到TextView时,对其进行setSelected(true)。要想TextView有跑马灯效果,这个TextView必须获取到焦点。

按照上述方法设置后,会发现还是会有个问题,必须点击一下对应的item后,跑马灯才会有效果。始终未解决,估计要自定义跑马灯通过message/handler去写跑马灯效果

你可能感兴趣的:(RecyclerView中TextView使用marquee效果无效)