0

私はそのように定義された top_sliding_out アニメーションを持っています:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator" >

    <alpha
        android:duration="300"
        android:fromAlpha="1"
        android:toAlpha="0" />

    <scale
        android:duration="300"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="50%"
        android:pivotY="0%"
        android:toXScale="1"
        android:toYScale="0" />
</set>

コード トリガー アニメーション:

public void onCheckedChanged(final CompoundButton buttonView, boolean isChecked)
{
    Animation anim = AnimationUtils.loadAnimation(this.getActivity(), R.anim.top_slide_out);
    anim.setFillAfter(true);
    ((View)buttonView.getParent()).startAnimation(anim);
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable()
    {
        public void run()
        {
            getListView().requestLayout();
        }
    }, anim.getDuration());
}

このアニメーションを実行して、リスト内のカスタム行を非表示にします。しかし、問題は、レイアウトがサイズを変更しないため、空の穴が残っていることです。

アニメーション前:

ここに画像の説明を入力

アニメーション後:

ここに画像の説明を入力

それについて私は何ができますか?アニメーションの進行中にレイアウトを変更するにはどうすればよいですか?

4

0 に答える 0