我是android新手。我正在创建一个应用程序,我想在按钮上应用滑动效果,如iPhone按钮。按下按钮时不会发生任何事情。但是一旦按下按钮就应该做一些事情。我的问题是.....是否可以在iPhone按钮上应用滑动效果,如iphone?请给出一些想法。提前谢谢。
答案 0 :(得分:2)
this answer有一些关于“flinging”的好消息,这是你可能正在寻找的android术语。您需要将这样的监听器应用于您想要“滑动”的任何内容。
以下是Mirek Rusin回答的一些相关代码:
private final class GestureListener extends SimpleOnGestureListener {
private static final int SWIPE_THRESHOLD = 100;
private static final int SWIPE_VELOCITY_THRESHOLD = 100;
@Override
public boolean onDown(MotionEvent e) {
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
boolean result = false;
try {
float diffY = e2.getY() - e1.getY();
float diffX = e2.getX() - e1.getX();
if (Math.abs(diffX) > Math.abs(diffY)) {
if (Math.abs(diffX) > SWIPE_THRESHOLD && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
if (diffX > 0) {
onSwipeRight();
} else {
onSwipeLeft();
}
}
} else {
if (Math.abs(diffY) > SWIPE_THRESHOLD && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
if (diffY > 0) {
onSwipeBottom();
} else {
onSwipeTop();
}
}
}
} catch (Exception exception) {
exception.printStackTrace();
}
return result;
}
}
答案 1 :(得分:1)
可能很晚但我为此目的创建了一个小型库。它允许您从xml滑动和自定义按钮的行为。 Slide Button
基本上它涉及覆盖onTouch()事件并根据接收的坐标进行更改。在此之后,根据需要设置背景是一件简单的事情
答案 2 :(得分:0)