Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Android TabLayout选项卡Tab布局伸缩动画

需求:当ScrollView上滑时,动画收缩隐藏Tab;当ScrollView下拉时,动画扩展显示Tab

方案:ValueAnimator属性动画改变TabLayout的高度

private ValueAnimator mGoodsTabIndentAnimator;
private ValueAnimator mGoodsTabExpandAnimator;
private int mGoodsTabLayoutHeight;

public void startGoodsTabIndentAnimation() {
    if (mGoodsTabIndentAnimator == null) {
        mGoodsTabLayoutHeight = mGoodsTabLayout.getHeight();
        NLog.i(TAG, "mGoodsTabLayout Height: " + mGoodsTabLayoutHeight);
        mGoodsTabIndentAnimator = ValueAnimator.ofInt(mGoodsTabLayout.getHeight(), 0);
        mGoodsTabIndentAnimator.setDuration(200);
        mGoodsTabIndentAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                Integer value = (Integer) valueAnimator.getAnimatedValue();
                ViewGroup.LayoutParams params = mGoodsTabLayout.getLayoutParams();
                params.height = value;
                mGoodsTabLayout.setLayoutParams(params);
            }
        });
    }
    mGoodsTabIndentAnimator.start();
}

public void startGoodsTabExpandAnimation() {
    if (mGoodsTabExpandAnimator == null) {
        mGoodsTabExpandAnimator = ValueAnimator.ofInt(0, mGoodsTabLayoutHeight);
        mGoodsTabExpandAnimator.setDuration(200);
        mGoodsTabExpandAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {
                Integer value = (Integer) valueAnimator.getAnimatedValue();
                ViewGroup.LayoutParams params = mGoodsTabLayout.getLayoutParams();
                params.height = value;
                mGoodsTabLayout.setLayoutParams(params);
            }
        });
    }
    mGoodsTabExpandAnimator.start();
}
上一篇 Android RadioGroup流式布局及动态添加RadioButton
下一篇 Androi PtrFrameLayout实现下拉刷新