安卓UI——TextSwitcher

今天在使用TextSwitcher制作一个文本切换动画的时候,“全选”---->“取消全选”---->“全选”

是一个fade in 和 fade out的动画

但是在每次在“取消全选”---->“全选”的过程中

“取消全选”马上变成了“全选”,然后“全选” fade out 最后再“全选” fade in

请问各位大佬是否碰到过这种情况

我之前写过一个竖直方向的 滚动通知,你参考下,最后更新文本的时候调用 setText();

private void initView() {
        setFactory(mFactory);
        Animation enter = AnimationUtils.loadAnimation(getContext(), 
        enterAnimation);
        enter.setDuration(durationEnter);
        Animation out = AnimationUtils.loadAnimation(getContext(), outAnimation);
        out.setAnimationListener(listener);
        out.setDuration(durationOut);
        
        setInAnimation(enter);
        setOutAnimation(out);
        setCurrentText(displayText);
    }


private ViewSwitcher.ViewFactory mFactory = () -> {
        TextView textView = new TextView(getContext());
        textView.setMaxLines(1);
        textView.setSingleLine(true);
        textView.setEllipsize(TextUtils.TruncateAt.END);
        textView.setGravity(Gravity.CENTER);
        textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
        textView.setTextColor(textColor);

        if (onItemClickListener != null) {
            textView.setClickable(true);
            textView.setFocusable(true);
            onItemClickListener.onItemClick(textView.getText());
        }

        return textView;
    };

 

setText 改成 setCurrentText

你把setInAnimation挪到 in 动画下方先执行,不要in 和 out一起执行~ 试试