2017-01-10 8 views
-3

画像ビューでクリックイベントに追加したい。画像ビューでクリックすると、Android用カメラが開きます。画像ビューカメラを開く

ImageView imageView = (ImageView) findViewById(R.id.ImageView1); 
    imageView.setImageResource(R.drawable.camera); 
+1

[Androidの中ボタンをクリックしてリスナー]の可能な複製を(HTTP ://stackoverflow.com/questions/8977212/button-click-listeners-in-android) –

+0

また、このリンクをカメラ用に使用することもできますhttp://stackoverflow.com/questions/13977245/android-open-camera-from-button –

答えて

0
imageView = (ImageView) findViewById(R.id.ImageView1); 
    imageView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent imageLoader = (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) 
        ? new Intent(MediaStore.ACTION_IMAGE_CAPTURE_SECURE) 
        : new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(imageLoader, 1); 
     } 
    }); 

要求をハンドル:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (resultCode == RESULT_OK){ 
     switch (requestCode) { 
      case 1: 
       your_image_container_to_set_image.setImageBitmap((Bitmap) data.getExtras().get("data")); //use this if you trying to set image on Imageview 

       break; 
     } 
    } 
    } 

あなたはPermissionを使用する必要があります:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
0
File file; 

imageView = (ImageView) findViewById(R.id.ImageView1); 
    imageView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      takePicture(v); 
     } 
    }); 
public void takePicture(View view) { 
       Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       file = Uri.fromFile(getOutputMediaFile()); 
       intent.putExtra(MediaStore.EXTRA_OUTPUT, file); 

       startActivityForResult(intent, 100); 
      } 

      @Override 
      protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
       if (requestCode == 100) { 
        if (resultCode == RESULT_OK) { 
         imageView.setImageURI(file); 
        } 
       } 
      } 


     private static File getOutputMediaFile(){ 
      File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
        Environment.DIRECTORY_PICTURES), "CameraDemo"); 

      if (!mediaStorageDir.exists()){ 
       if (!mediaStorageDir.mkdirs()){ 
        return null; 
       } 
      } 

      String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
      return new File(mediaStorageDir.getPath() + File.separator + 
         "IMG_"+ timeStamp + ".jpg"); 
     } 
関連する問題