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;
}

しかし、私が直面している問題は、メソッドが2回しか呼び出されていないように見えることです。最初に値=0.0のinterpolatedTimeを使用し、次に値=1.0のinterpolatedTimeを使用します。

LinearInterpolatorを拡張し、そのgetInterpolationメソッドを拡張して値を0.05f増やしましたが、そのメソッドも0で1回、1で2回しか呼び出されていません。

AccelerateInterpolatorも試しましたが、それでも同じ問題が発生します。

私がここで欠けているのは何ですか?

ありがとうpradeep

4

0 に答える 0