6

我有一个文本数据的列表视图。即使文本占用更多空间,最初所有行的大小都是固定的。如果看不到完整的文本,则单击时会展开该行。为了实现这个扩展,我创建了一个动画类来扩展 Animation。而在 applyTransformation 方法中,我尝试使用 interpolatedTime (input) 逐渐扩大行以给人一种不错的感觉。

if (interpolatedTime < 1.0f) {
    params.height = (int) ((params.height - mainTextParams1.height) *
    interpolatedTime);

    maintxtlayout.setLayoutParams(params);
    mAnimatedView.requestLayout();

} else if (!mWasEndedAlready) {
    maintxtlayout.setLayoutParams(params);
    mAnimatedView.requestLayout();
    mWasEndedAlready = true;
}

但是,我面临的问题是方法似乎只被调用了两次。首先 interpolatedTime 的 value = 0.0 ,下一次 value = 1.0 。

我尝试扩展 LinearInterpolator ,并扩展其 getInterpolation 方法以将值增加 0.05f,但该方法也仅被调用两次,一次为 0,第二次为 1。

我也试过 AccelerateInterpolator,但同样的问题。

我在这里想念什么?

谢谢 pradeep

4

0 回答 0