【发布时间】:2019-02-27 01:22:36
【问题描述】:
我目前正在 Android 上构建应用程序。现在请记住,我是一个非常业余的人,但我已经能够弄清楚我需要为我的非常简单的应用程序弄清楚的大部分内容。但是这个问题一直困扰着我,我找不到解决办法。
对于背景,我一直在使用左右滑动来“滚动”不同的文本选项。但是,我想在每次单击时更改一个完全不同的文本字段。
例如,当我滑动时 textview1 会发生变化,而每次单击时 textview2 都会发生变化。但他们在同一页上。
我的代码适用于滑动,但是当我单击时,它执行的功能与我向右滑动时相同。
这是我正在使用的代码,任何关于我做错了什么的帮助将不胜感激:
final float len = getResources().getDisplayMetrics().densityDpi/6;
linear1.setOnTouchListener(new View.OnTouchListener() {
float initX;
float initY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
initX = event.getX();
initY = event.getY();
break;
case MotionEvent.ACTION_UP:
initX -= event.getX();
initY -= event.getY();
if (initY > len) {
//Logic For Swipe Right
} else if(initY < -len) {
//Logic For Swipe Left
} else {
if(initY < 0) initY = -initY;
if(initX < 0) initX = -initX;
if(initX <= len/4 && initY <= len/4) {
//Logic For OnClick
}
}
break;
}
return true;
}
});
另一个小问题是它也检测到上下滑动。向下滑动执行右侧滑动应该执行的操作,向上滑动执行左侧滑动应该执行的操作。我只想要左右滑动检测,根本不需要上下滑动检测。
提前谢谢大家!希望你能帮助这个菜鸟!
【问题讨论】:
-
一次只做一个问题。请不要在您的问题上加上“另一个问题”。
-
好的,我很抱歉。谢谢你告诉我
标签: javascript java android