gpt4 book ai didi

android - 如何在android中实现滑动显示动画?

转载 作者:行者123 更新时间:2023-11-29 17:34:32 26 4
gpt4 key购买 nike

我创建了 5 个 Activity ,每个 Activity 都有一个仅包含图像的 ListView。我使用了一个简单的滑动动画来改变 Activity 。

相关代码如下:

@Override
public boolean onTouchEvent(MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return super.onTouchEvent(event);
}

private void onLeftSwipe() {
Intent intent = new Intent(HimachalActivity.this, IndianWildlifeActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out);
}

private void onRightSwipe() {
Intent intent = new Intent(HimachalActivity.this, BaseActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out);
}

private class SwipeGestureDetector extends GestureDetector.SimpleOnGestureListener {
// Swipe properties, you can change it to make the swipe
// longer or shorter and speed
private static final int SWIPE_MIN_DISTANCE = 120;
private static final int SWIPE_MAX_OFF_PATH = 200;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2,
float velocityX, float velocityY) {
try {
float diffAbs = Math.abs(e1.getY() - e2.getY());
float diff = e1.getX() - e2.getX();

if (diffAbs > SWIPE_MAX_OFF_PATH)
return false;

// Left swipe
if (diff > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
HimachalActivity.this.onLeftSwipe();

// Right swipe
} else if (-diff > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
HimachalActivity.this.onRightSwipe();
}
} catch (Exception e) {
Log.e("BaseActivity", "Error on gestures");
}
return false;
}
}

问题是下一个 Activity 或上一个 Activity 只有在完全滑动后才会打开,而且动画感觉不那么流畅。

我想要一个动画,其中下一个 Activity 或上一个 Activity 在我开始滑动时立即开始显示。有没有可以应用的内置动画。如果没有,请指出我自己创建一个的任何相关资源,可能不需要我对现有代码进行太多修改。谢谢。

最佳答案

据我所知,这个功能在 Lollipop Material 设计模块中很容易获得。

关于android - 如何在android中实现滑动显示动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228513/

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