【问题标题】:taking image on touching screen in android在安卓的触摸屏上拍照
【发布时间】:2014-08-05 16:02:17
【问题描述】:

我正在按照 google 的 android 开发者指南来创建相机捕捉应用程序。 http://developer.android.com/guide/topics/media/camera.html

我创建了 CameraPreview 类来显示来自相机的实时图像。然后将相机连接到它,如下所示

// Create an instance of Camera
    mCamera = getCameraInstance();
// Create our Preview view and set it as the content of our activity.
    mPreview = new CameraPreview(this, mCamera);
    FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
    preview.addView(mPreview);

在示例中,当用户按下按钮时单击图像,如下所示:-

Button captureButton = (Button) findViewById(id.button_capture);
captureButton.setOnClickListener(
 new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // get an image from the camera
        mCamera.takePicture(null, null, mPicture);
    }
}

);

我能否以某种方式将触摸监听器设置为相机预览(屏幕),这样当用户触摸屏幕时,我可以获得触摸的坐标,然后进行单独的处理??

【问题讨论】:

    标签: android


    【解决方案1】:

    拉普拉斯:

    Button captureButton = (Button) findViewById(id.button_capture);
    captureButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // get an image from the camera
            mCamera.takePicture(null, null, mPicture);
        }
    });
    

    与:

    preview.setOnTouchListener(new OnTouchListener(){
    
    @Override
    public boolean onTouch(View v, MotionEvent event) {     
    Log.i("onTouch","onTouch event:"+event.getAction());
    
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
    
            // get an image from the camera
            mCamera.takePicture(null, null, mPicture);
    
            // coordinates
            int x = (int)event.getX();
            int y = (int)event.getY();
            Log.i("onTouch", "ACTION_DOWN");
            break;
    
        default:
            break;
        }
        return true;
    }
    

    });

    【讨论】:

    • 行 preview.setOnTouchListener(new OnTouchListener() 显示错误为“View 类型中的方法 setOnTouchListener(View.OnTouchListener) 不适用于参数 (new OnTouchListener(){})”
    • 添加: import android.view.View.OnTouchListener;import android.view.View; 更改为:setOnTouchListener(View.OnTouchListener)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    相关资源
    最近更新 更多