findViewById(R.id.btn_submit).setOnTouchListener(new View.OnTouchListener()
{
int prevX,prevY;
@Override
public boolean onTouch(final View v,final MotionEvent event)
{
final LinearLayout.LayoutParams par=(LinearLayout.LayoutParams)v.getLayoutParams();
switch(event.getAction())
{
case MotionEvent.ACTION_MOVE:
{
par.topMargin+=(int)event.getRawY()-prevY;
prevY=(int)event.getRawY();
prevX=(int)event.getRawX();
v.setLayoutParams(par);
return true;
}
case MotionEvent.ACTION_UP:
{
par.topMargin+=(int)event.getRawY()-prevY;
v.setLayoutParams(par);
return true;
}
case MotionEvent.ACTION_DOWN:
{
prevX=(int)event.getRawX();
prevY=(int)event.getRawY();
par.bottomMargin=-2*v.getHeight();
v.setLayoutParams(par);
return true;
}
}
return false;
}
});
使用您的解决方案其滚动到所有领域。我只想要垂直方向 –
@RajeshNasit因此,只更改垂直边距(顶部和底部),避免更改水平边距(leftMargin&rightMargin) –
谢谢我完成了下面的代码。真的,你救了我的一天:) –