私は画面の下からビューをスライドさせて、もう少しすべてが正しく収まるように別のビューを折りたたみようとしています。スムースanimateLayoutChangesアニメーション
私は属性animateLayoutChanges
と2つの単純なxmlアニメーションslid_up.xml
とslid_down.xml
でそれを行うことができました。
私の問題は、animateLayoutChanges
という属性からViewPager
になるアニメーションがスムーズでないことです。
これを修正する方法はありますか?
slid_up.xml
<translate
android:duration="1000"
android:fromYDelta="100%"
android:toYDelta="0" />
</set>
slid_down.xml
<translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="100%" />
</set>
P.S.私はHeightアニメーターとしてカスタムアニメーターを作成しようとしましたが、ビューの元の高さが乱れてしまいます。
HeightResizeAnimation
public class HeightResizeAnimation extends Animation {
private View mView;
private float mToHeight;
private float mFromHeight;
private int duration = 300;
public HeightResizeAnimation(View v, float offset) {
mView = v;
mToHeight = v.getHeight() + offset;
mFromHeight = v.getHeight();
setDuration(duration);
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
float newHeight = (mToHeight - mFromHeight) * interpolatedTime + mFromHeight;
mView.getLayoutParams().height = (int) newHeight;
mView.requestLayout();
}
}
アニメーション後の高さは、もはやアニメーションの前にいたmatch_parent
ようになることはありません。
あなたは下へファブアニメーションはFabはそれはのように思える子
アニメートしたいもののビデオを投稿できますか?それに応じて更新しますか?アニメーション属性を使用する場合、requestLayout()は必要ありません。 –
requestLayoutはまったく問題ではありません。HeightResizeAnimationの問題は、ビューをポートレートからランドスケープに変更すると、アニメーションの前にある高さがmatch_parentになりませんでした。 – gmetax
@AnuragSingh、ビデオとGIF私が – gmetax