我想在图像视图上添加Click事件。通过单击“图像视图”,它应该打开Android相机。
ImageView imageView = (ImageView) findViewById(R.id.ImageView1);
imageView.setImageResource(R.drawable.camera);
答案 0 :(得分:0)
switch (listCountry.get(position)) {
case "India":
Intent intent = new Intent(GridViewExampleActivity.this,IndiaActivity.class);
break;
case "Brazil":
Intent intent = new Intent(GridViewExampleActivity.this,BrazilActivity.class);
break;
}
startActivity(intent);
处理请求:
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
答案 1 :(得分: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");
}