内置textview的relativelayout的android valueanimator是laggy

内置textview的relativelayout的android valueanimator是laggy,android,android-relativelayout,android-animation,Android,Android Relativelayout,Android Animation,我正在尝试设置布局宽度变化的动画。我尝试设置动画的布局元素是RelativeLayout。它包含文本视图,该视图与规则ALIGN\u PARENT\u BOTTOM一起定位。我通过扩展RelativeLayout视图组从代码开始创建所有内容 以下内容是构造函数的一部分: 1 title = new TextView(c); 2 LayoutParams tvParams = new LayoutParams(LayoutParams.MATCH_PARENT,

我正在尝试设置布局宽度变化的动画。我尝试设置动画的布局元素是RelativeLayout。它包含文本视图,该视图与规则ALIGN\u PARENT\u BOTTOM一起定位。我通过扩展RelativeLayout视图组从代码开始创建所有内容

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

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);
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();
    }
});
这是ValueAnimator:

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);
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放在布局上,这样就可以了。否则profiler说它会导致视图的不断重新测量,并且设备会花费90%的处理器时间在视图上


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

@Pratik感谢你通过编辑帖子来提高So。然而,(再次)没有理由在各种帖子中大胆强调你。它只会引入噪音,实际上可能被认为是积极有害的。@Xavi López感谢您的建议,我下次将不会制作粗体文本,并将尝试只编辑具有分散代码的帖子。。!