gpt4 book ai didi

android - 如何创建图案锁定应用程序

转载 作者:行者123 更新时间:2023-11-29 01:28:01 25 4
gpt4 key购买 nike

我是 android 的新手,在我的应用程序中我只需要添加一个像图案锁这样的屏幕,我真正想要做的是,不需要创建/设置图案。只需设计一个有 9 个点的屏幕,当用户绘制一些图案,我需要获得这些图案值。对于设计,我使用了 PatternView 但如何获得用户抽屉图案?我已经在谷歌上搜索过了,但我发现他们在那里设置了图案锁定,我不想要那个。我只想当我在 PatternView 上画东西时它只是返回值,假设我画了一个像 2365 点这样的图案它将返回一个整数值,例如 2365。

我已经试过了 haibison.github.io/android-lockpattern但我的应用程序与此不同。我只想画一个图案并得到结果,不需要创建和确认屏幕。无需将结果保存在共享首选项中。我只想将绘制的图案值与我的预定义值进行比较。

最佳答案

以下是关于如何做到这一点的想法:

  1. 从布局的表格 View 开始,创建一个 3 x 3 的 ImageView 网格(点)。
  2. 在您的 Activity 上覆盖 onTouchListener 以检测图像上的触摸。引用this answer了解详情。
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 ,您必须为 9 个 ImageView 构建它。

  1. 当检测到触摸时,将 imageview 的索引附加到字符串。

  2. 一旦图像被触摸,就会停止检测对其的触摸。

  3. 当检测到 MotionEvent.ACTION_UP 时执行所需的操作

关于android - 如何创建图案锁定应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com