内部textview的relativelayout的android valueanimator是滞后的

时间:2013-05-14 05:24:51

标签: android relativelayout android-animation

尝试动画更改布局宽度。我正在尝试设置动画的布局元素是RelativeLayout。它包含使用规则ALIGN_PARENT_BOTTOM定位的TextView。我通过扩展RelativeLayout viewgroup来创建代码。

以下是构造函数的一部分:

1    title = new TextView(c);
2    LayoutParams tvParams = new LayoutParams(LayoutParams.MATCH_PARENT,
                                              LayoutParams.WRAP_CONTENT);
3    tvParams.addRule(ALIGN_PARENT_BOTTOM);
4    title.setLayoutParams(tvParams);
5    title.setText(this.feed.title);
6    this.addView(title);

这是ValueAnimator:

mScaleX = ValueAnimator.ofInt(mParamsOriginal.width, mParamsLarge.width);
mScaleX.setInterpolator(new LinearInterpolator());
mScaleX.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator valueAnimator) {
        int val = (Integer) valueAnimator.getAnimatedValue();
        LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) getLayoutParams();
        layoutParams.width = val;
        requestLayout();
    }
});

然后我会评论第2-4行,只是将TextView放在布局上就可以了。否则,探测器会说它会导致视图不断重新测量,并且设备会花费90%的处理器时间。

那么,有没有办法解决这个问题?

0 个答案:

没有答案