我正在尝试获取模式锁定组件的 X 和 Y 坐标。我用来创建 Pattern Lock 组件的代码来自 aritraroy/PatternLockView,可以在 Github 上找到。首先,我像这样在 View 变量上设置 Root View :
然后我在 Root View 上设置了 OnTouchListener
。
最后我创建了 PatterLockViewListener
:
final PatternLockViewListener mPatternLockViewListener = new PatternLockViewListener() {
//do whatever
}
我想要的是通过单击 PatternLock
组件来获取与 Root View 相关的坐标 (X,Y)。相反,我获取了除 PatternLock
以外的所有其他组件的坐标(通过单击 PatternLock
组件 OnTouchListener
不会触发,因此,代码不工作/运行)
最佳答案
在搜索了 3、4 天后,最终对我有用的解决方案是:
public class Pattern extends AppCompatActivity
{
PatternLockView pattern_lock;
//x,y coordinates for when the finger touches the screen
//x,y coordinates for when the finger moves around the screen
@Override
protected void onCreate(Bundle savedInstanceState)
{
pattern_lock = (PatternLockView)findViewById(R.id.pattern_screen);
pattern_lock.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
//code
return Pattern.super.onTouchEvent(event);
case MotionEvent.ACTION_MOVE:
//code
return Pattern.super.onTouchEvent(event);
case MotionEvent.ACTION_UP:
//code
return Pattern.super.onTouchEvent(event);
}
return true;
}
});
}
}
我不太确定为什么要返回它(return Pattern.super.onTouchEvent(event);)而不像大多数帖子所说的关于 onTouch 的那样。
关于android - 如何在Android Studio中获取图案锁定组件的坐标(X,Y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49781950/