HorizontalScrollView怎么监听滑动方向和禁用滑动
1个回答
推荐于2016-06-11 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517170
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
重写onTouchEvent,返回false,试一下,
控制方向
.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(MotionEvent.ACTION_DOWN==event.getAction()){
mPosX = (int)event.getX();
mPosY = (int)event.getY();
}
if (MotionEvent.ACTION_MOVE == event.getAction()) {
mCurrentPosX = (int)event.getX()-mPosX;
mCurrentPosY = (int)event.getY()-mPosY;
mPosX = (int)event.getX();
mPosY = (int)event.getY();
}
if (mCurrentPosX - mPosX > 0 && Math.abs(mCurrentPosY - mPosY) < 10)
{
Log.e("", "向右的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
else if (mCurrentPosX - mPosX < 0 && Math.abs(mCurrentPosY - mPosY) < 10
)
{
Log.e("", "向左的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
else if (mCurrentPosY - mPosY > 0 && Math.abs(mCurrentPosX - mPosX) < 10)
{
Log.e("", "向下的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
else if (mCurrentPosY - mPosY < 0 && Math.abs(mCurrentPosX - mPosX) < 10)
{
Log.e("", "向上的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
return false;
}
});
控制方向
.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(MotionEvent.ACTION_DOWN==event.getAction()){
mPosX = (int)event.getX();
mPosY = (int)event.getY();
}
if (MotionEvent.ACTION_MOVE == event.getAction()) {
mCurrentPosX = (int)event.getX()-mPosX;
mCurrentPosY = (int)event.getY()-mPosY;
mPosX = (int)event.getX();
mPosY = (int)event.getY();
}
if (mCurrentPosX - mPosX > 0 && Math.abs(mCurrentPosY - mPosY) < 10)
{
Log.e("", "向右的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
else if (mCurrentPosX - mPosX < 0 && Math.abs(mCurrentPosY - mPosY) < 10
)
{
Log.e("", "向左的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
else if (mCurrentPosY - mPosY > 0 && Math.abs(mCurrentPosX - mPosX) < 10)
{
Log.e("", "向下的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
else if (mCurrentPosY - mPosY < 0 && Math.abs(mCurrentPosX - mPosX) < 10)
{
Log.e("", "向上的按下位置"+mPosX+"移动位置"+mCurrentPosX);
}
return false;
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询