gpt4 book ai didi

java - Android - 如何在滑动时移动 ImageView

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:43:51 25 4
gpt4 key购买 nike

我刚开始为 Android 应用程序实现滑动手势。我正在尝试使用以下代码从屏幕的左侧向右侧滑动 ImageView:

 public class MainActivity extends Activity implements OnClickListener{
private static final int SWIPE_MIN_DISTANCE = 10;
private static final int SWIPE_MAX_OFF_PATH = 250;
private static final int SWIPE_THRESHOLD_VELOCITY = 200;
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView btnSwipe = (ImageView)findViewById(R.id.imgBtnSwipe);
btnSwipe.setOnClickListener(this);
gestureDetector = new GestureDetector(this, new MyGestureDetector());
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
};
btnSwipe.setOnTouchListener(gestureListener);
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(MainActivity.this, "Left Swipe", Toast.LENGTH_SHORT).show();
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
Toast.makeText(MainActivity.this, "Right Swipe", Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
// nothing
}
return false;
}

}
@Override
public void onClick(View v) {
}
}

我收到 Toast 消息作为 Right Swipe。但是图像没有移动。我该如何实现?请帮我提供示例代码/链接。

最佳答案

我找到了一个简单的解决方案如下:

向右滑动(向右):

btnSwipe.setTranslationX(e2.getX());

向左滑动(向左)"

btnSwipe.setTranslation(e1.getX());

现在,ImageView 正在从右到左和从左到右水平过渡。但这从 Android API Level 11 开始有效。

关于java - Android - 如何在滑动时移动 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19876408/

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