テキストデータのリストビューがあります。テキストがより多くのスペースを占める場合でも、最初はすべての行が固定サイズです。完全なテキストが表示されない場合は、クリックすると行が展開されます。この拡張を実装するために、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;
}
しかし、私が直面している問題は、メソッドが2回しか呼び出されていないように見えることです。最初に値=0.0のinterpolatedTimeを使用し、次に値=1.0のinterpolatedTimeを使用します。
LinearInterpolatorを拡張し、そのgetInterpolationメソッドを拡張して値を0.05f増やしましたが、そのメソッドも0で1回、1で2回しか呼び出されていません。
AccelerateInterpolatorも試しましたが、それでも同じ問題が発生します。
私がここで欠けているのは何ですか?
ありがとうpradeep