TextSwitchers每次你的setText都会切换你的文本,你可以在textSwitcher中插入动画,这样当你像下面的例子一样设置文本时,它会上下滑动。一个用例就像一个应用程序中的类似按钮,用户单击该按钮,textSwitcher向上滑动以显示新的类似计数。
我正在努力在recyclerview中使用textSwitcher,并创建了一个小型回购来展示我的问题:https://github.com/Winghin2517/TextSwitcherRV
我的问题是,如果我滚动,textSwitcher动画会自动激活,我可以看到每行中的textSwitcher像机场中的招牌一样上下闪烁。
我认为这是由于回收本身的意见,因此textSwitcher重置自己,但是想知道在滚动回收者视图时是否有办法阻止这个机场招牌效应?
我认为将textSwitchers放在recyclerview中是一个非常常见的用例。
答案 0 :(得分:1)
if (mDataset.get(position).isClicked()) {
((TextViewHolder) holder).textSwitcher.setText("I was clicked!");
} else {
((TextViewHolder) holder).textSwitcher.setText(mDataset.get(position).getCounter());
}
我认为这是因为您将文本设置为textSwitcher而不检查文本是否已设置以及视图重用的位置,它开始动画为新值(实际上等于旧值)。
尝试通过setCurrentText
设置文本,这不会触发动画。