我有一个文本数据的列表视图。即使文本占用更多空间,最初所有行的大小都是固定的。如果看不到完整的文本,则单击时会展开该行。为了实现这个扩展,我创建了一个动画类来扩展 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