Android: 是否可以在两个 Activity 之间滑动?

Android: Is it possible to Swipe between two Activities?

我想在两个活动之间滑动(不是碎片)这两个活动都是从 ActionBarACtivity 扩展的,所以这可能吗?如果可能的话,它将如何完成?

你在扩展一个activity并不意味着它们在屏幕上是相关的或window,activity class是一个抽象或class 你可以把你的逻辑放到哪里。由于每个 activity 都附加到一个 window,所以这是可能的。 查看像 this 这样的库,它会为您提供简单的辅助函数来实现它,或者阅读代码来自定义它;)

由于这涉及大量代码,您还可以查看 this or sliding activity 以了解实现它的想法 ;)

注意:唯一的方法是从第二个开始 activity 然后控制它的可见性

您可以在两个活动之间滑动,试试这个代码。

在 Kotlin 中:

class Main3Activity : AppCompatActivity() {

internal var x1: Float = 0.toFloat()
internal var x2: Float = 0.toFloat()
internal var y1: Float = 0.toFloat()
internal var y2: Float = 0.toFloat()

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main3)
}

override fun onTouchEvent(tochevent: MotionEvent): Boolean {
    when (tochevent.action) {
        MotionEvent.ACTION_DOWN -> {
            x1 = tochevent.x
            y1 = tochevent.y
        }
        MotionEvent.ACTION_UP -> {
            x2 = tochevent.x
            y2 = tochevent.y
            if (x1 < x2) {
                val i = Intent(this@Main3Activity, Main2Activity::class.java)
                startActivity(i)
            }
        }
    }
    return false
}