我的代码是改变textView的位置..我在搜索引擎中搜索它,我发现以下代码,当我在.java上编写它时它工作正常。
我的问题是这段代码的逻辑..使用3/2和1/2的逻辑是什么。 为什么用3/2?
tvView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0 , MotionEvent arg1) {
switch (arg1.getAction())
{
case MotionEvent.ACTION_DOWN :
moving = true ;
break ;
case MotionEvent.ACTION_MOVE :
if (moving)
{
x = arg1.getRawX()- tvView.getWidth()/2 ;
y = arg1.getRawY() - tvView.getHeight() * 3/2 ;
tvView.setX(x) ;
tvView.setY(y) ;
}
break ;
case MotionEvent.ACTION_UP :
moving = false ;
break ;
}
return true;
}
});
答案 0 :(得分:0)
我假设/ 2使得它在触摸屏幕时会将文本的中心移动到那里,因为它的文本长度除以2.对于3/2,我假设它将文本稍微低一点,然后你触摸的地方?因为它将y位置乘以其长度的3/2。我假设它这样做,以便您可以准确地看到您移动文本的位置。