我是android的新手,在我的应用程序中我只需要添加一个像模式锁的屏幕,我想要做的是,无需创建/设置模式。只需设计一个9点的屏幕,当用户绘制一些模式,我需要获得那些模式值。对于设计,我使用了PatternView但是如何获得用户抽屉模式?我已经谷歌了,但是我发现他们设置了模式锁定,我不想那样。我只是想要当我在PatternView上绘制一些东西时它只返回值,假设我喜欢绘制像2365点的图案它将返回一个整数值,如2365。
我已经尝试了haibison.github.io/android-lockpattern,但我的应用程序与此不同。我只想绘制一个模式并获得结果,无需创建和确认屏幕。无需将结果保存在共享首选项中。我只想将绘制的模式值与我预定义的值进行比较。
答案 0 :(得分:1)
以下是关于如何实现这一目标的想法:
private ImageView imageView; private Rect imageRect; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.imageView1); } @Override public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); if (imageRect == null) { imageRect = new Rect(); imageView.getGlobalVisibleRect(imageRect); } int x = (int) event.getX(); int y = (int) event.getY(); if (imageRect.contains(x, y)) { Log.i(TAG, "touch passing over imageView"); } return true; }
示例是1个图像视图,你必须为它构建它。
当检测到触摸时,将imageview的索引附加到字符串。
触摸图像后停止检测触摸。
在检测到MotionEvent.ACTION_UP
时执行所需的操作