如何创建模式锁定应用

时间:2015-09-27 12:07:35

标签: android locking

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

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

1 个答案:

答案 0 :(得分:1)

以下是关于如何实现这一目标的想法:

  1. 从布局的表格视图开始,并创建一个3 x 3网格的图像视图(点)。
  2. 覆盖活动上的onTouchListener以检测图像上的触摸。有关详细信息,请参阅this answer
  3. 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个图像视图,你必须为它构建它。

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

    2. 触摸图像后停止检测触摸。

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

相关问题