如何从屏幕的末尾向android应用程序添加滑动权限?

如何从屏幕的末尾向android应用程序添加滑动权限?,android,android-studio,Android,Android Studio,我在我的android应用程序中工作,然后我遇到了一个问题,我想在我的应用程序中添加向右或向左滑动,以在用户滑动时处理某些事情,但我希望用户从屏幕的末端而不是像下面的示例中的中心滑动。[1] :“示例”以下是您需要添加到活动中的代码 var x1 = 0.0f var x2 = 0.0f val minSwipeDistance = 150f val displayMetrics : DisplayMetrics? = null windowManager.defaultDisplay.get

我在我的android应用程序中工作,然后我遇到了一个问题,我想在我的应用程序中添加向右或向左滑动,以在用户滑动时处理某些事情,但我希望用户从屏幕的末端而不是像下面的示例中的中心滑动。[1] :“示例”

以下是您需要添加到
活动中的代码

var x1 = 0.0f
var x2 = 0.0f
val minSwipeDistance = 150f

val displayMetrics : DisplayMetrics? = null
windowManager.defaultDisplay.getMetrics( displayMetrics )
val margin = ( displayMetrics!!.widthPixels * 0.2f ).toInt()

bottom_app_bar.setOnTouchListener { v, event ->
    when( event.action ) {
        MotionEvent.ACTION_UP -> {
            x1 = event.x
        }
        MotionEvent.ACTION_DOWN -> {
            x2 = event.x
            val delta = x2 - x1
            val absDelta = Math.abs( delta )
            if( absDelta > minSwipeDistance && delta > 0.0f && x1 < margin ) {
                // Handle the further actions
            }
        }
    }
    v?.onTouchEvent(event) ?: true
}
var x1=0.0f
var x2=0.0f
val距离=150华氏度
val displayMetrics:displayMetrics?=无效的
windowManager.defaultDisplay.getMetrics(displayMetrics)
val margin=(displayMetrics!!.widthPixels*0.2f).toInt()
bottom_app_bar.setOnTouchListener{v,事件->
何时(事件、动作){
MotionEvent.ACTION\u UP->{
x1=事件.x
}
MotionEvent.ACTION\u向下->{
x2=事件.x
val delta=x2-x1
val absDelta=Math.abs(delta)
如果(绝对值增量>最小距离和增量>0.0f和x1<边距){
//处理进一步的行动
}
}
}
v?.onTouchEvent(事件)?:真
}
DisplayMetrics
,我们可以获得屏幕的像素宽度。然后,我们通过减小宽度(将其乘以0.2)从需要执行操作的位置获得
边距。见下图

因此,我们检查
事件
的x1是否小于边距。此外,我们还验证了滑动距离
delta
是否大于0,这表明这是一个右滑动动作。最后,我们检查刷卡距离是否大于
minsweep distance
。如果所有条件都满足,我们可以执行进一步的操作


注意:您可以根据您的需要调整
MinsweepDistance
边距
(常数
0.2
被乘以)。

谢谢,我知道它是如何工作的,但您能给我一个java示例吗?因为我的项目是用java编写的,我无法编译它?