我看了一段有关如何在android studio上访问摄像机的视频,但我当前的活动空间不多,所以我在图像上做了一个点击侦听器,当用户单击图像时,它转到另一个活动图像看上去较大的地方,但是当我单击图像时,它转到了另一个活动性,但没有显示图像。我看到了其他问题,但是或者他们询问如何传递可绘制资源上的图像,或者答案不适合我。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fazer_perguntas);
photoCamera = (RelativeLayout) findViewById(R.id.photoCamera);
photo = (ImageView) findViewById(R.id.photo);
photo2 = (ImageView) findViewById(R.id.photo2);
photo3 = (ImageView) findViewById(R.id.photo3);
photoCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(camera,0);
}
});
photo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent p = new Intent(getApplicationContext(),BigPhoto.class);
p.putExtra("idphoto",photo.getId());
p.putExtra("idphoto2",photo2.getId());
p.putExtra("idphoto3",photo3.getId());
startActivity(p);
}
});
{
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Bitmap bitmap = (Bitmap)data.getExtras().get("data");
photo.setImageBitmap(bitmap);
Intent selfiSrc = new Intent(this, BigPhoto.class);
selfiSrc.putExtra("data",bitmap);
startActivity(selfiSrc);
}
}
}
这是我的firstactivity java类的一部分。 photo2和photo3是我将对照片执行相同操作的其他图像视图。
package com.example.ritalopes.help;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
public class BigPhoto extends AppCompatActivity {
ImageView photo, photo2, photo3, bigphoto;
private Uri path;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_big_photo);
photo = (ImageView) findViewById(R.id.photo);
photo2 = (ImageView) findViewById(R.id.photo2);
photo3 = (ImageView) findViewById(R.id.photo3);
bigphoto = (ImageView) findViewById(R.id.bigphoto);
Intent pho = getIntent();
int image1 = pho.getIntExtra("idphoto",0);
int image2 = pho.getIntExtra("idphoto2",0);
int image3 = pho.getIntExtra("idphoto3",0);
Intent take = getIntent();
Bitmap bitmap = (Bitmap) take.getParcelableExtra("data");
bigphoto.setImageBitmap(bitmap);
}}
这是我要将图像传递到的secondactivity javaclass。我尝试过将代码包含在Uri中,但没有解决。 预先感谢您的回复。
答案 0 :(得分:0)
您的代码不是很清楚...
首先,您必须为所有图像添加一个OnClickListener,而不仅仅是photo
然后,您必须像完成操作一样将额外的数据传递给Intent。但是,请不要传递imageView的ID,而要传递要全屏显示的可绘制ID。
是否要显示可绘制的图像?还是位图?如果是位图,我认为intent.putExtra("data", bitmap)
可以工作,因为位图是可打包的。
答案 1 :(得分:0)
如果您要发送图像以便在另一个活动中预览图像。我建议您尝试使用此库。只需将其添加到项目的gradle文件中即可。
https://github.com/chathuralakmal/AndroidImagePopup
此预览图像库使用Picasso库来显示预览非常简单。并且还包含关闭按钮。
它对我有帮助,希望这可以节省您的时间。