android - 根据需要在每个RecyclerView元素中滚动TextView

时间:2017-01-01 02:12:22

标签: android textview android-recyclerview recycler-adapter

我有一个RecyclerView(ytRC)并且在RecyclerView中,每个元素都有一个缩略图和一个相应的标题,通过适配器(ResultsAdapter)进入RecyclerView,放置缩略图和标题进入cardview。我想在cardview中将我的标题设为一行,这很容易。但是,有些头衔太长了,所以它们被切断了。我认为一个字幕文本视图将是一个很好的解决方法,所以我去寻找解决方案。

我找到了一些结果,例如thisthis。但是,这些解决方案只能部分工作,这意味着RecyclerView中50个元素中只有1个实际滚动,因为它们的长度需要滚动。我认为这是因为我在title.setEnabled(true);的{​​{1}}方法中调用了title.requestFocus();onBindViewHolder(),并且只有在RecyclerView中的某个特定视图时才会显示文本正在制作中。

我想尝试的另一个解决方案是创建自定义TextView类ResultsAdapter

ScrollingTextView

但是,使用该类会产生相同的结果。那么,我如何在每个包含太多文本的RecyclerView元素中拼写textview?

1 个答案:

答案 0 :(得分:4)

Marquee很容易滚动很长的textView

<TextView
   android:text="lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00 | lunch 20.00 | Dinner 60.00 | Travel 60.00 | Doctor 5000.00"
   android:id="@+id/TextView02"
   android:layout_width="200dip"
   android:layout_height="wrap_content"
   android:marqueeRepeatLimit="marquee_forever"
   android:ellipsize="marquee"
   android:singleLine="true"
   android:focusable="true"
   android:inputType="text"
   android:maxLines="1">
</TextView>

在程序中

holder.textView.setSelected(true);

这将在TextView中以非自动方式滚动文本。