通过使用动画展开列表对象,我成功地设法做了一个很好的下滑效果。当我折叠扩展视图时,我试图做相反的事情,一个上滑效果,但没有成功。这是我的onclicklistener:
head.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (child.isShown()) {
Slide.slide_up(Kalender.this, child);
child.setVisibility(View.GONE);
} else {
child.setVisibility(View.VISIBLE);
Slide.slide_down(Kalender.this, child);
}
}
});
我的幻灯片课程:
public class Slide {
public static void slide_down(Context context, View view) {
Animation anim = AnimationUtils.loadAnimation(context, R.anim.slide_down);
if (anim != null) {
anim.reset();
if (view != null) {
view.clearAnimation();
view.startAnimation(anim);
}
}
}
public static void slide_up(Context context, View view) {
Animation anim = AnimationUtils.loadAnimation(context, R.anim.slide_up);
if (anim != null) {
anim.reset();
if (view != null) {
view.clearAnimation();
view.startAnimation(anim);
}
}
}
最后是动画。滑动向下:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<scale
android:duration="200"
android:fromXScale="1.0"
android:fromYScale="0.0"
android:interpolator="@android:anim/linear_interpolator"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
上滑:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<scale
android:duration="200"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/linear_interpolator"
android:toXScale="1.0"
android:toYScale="0.0" />
</set>
唯一的区别是滑动开始于y = 0并且转到y = 1,并且向上滑动从y = 1开始并且回到y = 0,但这似乎是错误的方式这样做。如何进行上滑工作呢?感谢