gpt4 book ai didi

java - 带有动画的 Android 滑入/滑出布局

转载 作者:行者123 更新时间:2023-11-29 05:50:08 28 4
gpt4 key购买 nike

我在谷歌上搜索了很多关于这个问题的信息。

我有一个包含 3 个 LinearLayout 的 LinearLayout。

第一个就像第二个的标题。最后一个只是一些其他内容。

我现在不想向上/向下滑动第二个布局。这适用于这段代码:

向下滑动:

Animation a = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.show_zeiten); 
a.setFillAfter(true);
zeiten_sonstigeZeiten_Layout.startAnimation(a);
zeiten_sonstigeZeiten_Layout.setVisibility(View.VISIBLE);

我的问题是当动画开始时 3 Layout 立即跳转到他的新位置。我想实现 3. 布局顺利地滑到第二个下面。

我的动画

<set xmlns:android="http://schemas.android.com/apk/res/android"  
android:fillEnabled="true"
android:interpolator="@android:anim/accelerate_interpolator" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromYDelta="-100%"
android:toYDelta="0" />

有没有人提示我如何才能做出这种行为?

感谢您的帮助!此致施万迪

编辑:

我已经尝试添加一个 animationListener,但是没有调用任何方法:

Animation a = AnimationUtils.loadAnimation(context, R.anim.show_zeiten); 
a.setFillAfter(true);

a.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
Log.e(TAG,"onAnimationStart");
}

@Override
public void onAnimationRepeat(Animation animation) {
Log.e(TAG,"onAnimationRepeat");
}

@Override
public void onAnimationEnd(Animation animation) {

Log.e(TAG,"onAnimationEnd");
zeiten_sonstigeZeiten_Layout.setVisibility(View.VISIBLE);

}
});


zeiten_sonstigeZeiten_Layout.startAnimation(a);

最佳答案

您在动画开始时进行更改。最好的方法是添加一个 AnimationListener 并在动画结束后更改布局。

yourAnimationObject.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}

@Override
public void onAnimationRepeat(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {
// setLayoutParams here
}
});

关于java - 带有动画的 Android 滑入/滑出布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236262/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com