在ImageView上设置onclickListener以查看放大的图像

时间:2017-08-16 08:57:00

标签: java android android-imageview

在我的应用程序中,我有一个打开相机并捕获图像的按钮。当我捕获图像时,我在ImageView中设置它。 我想添加一个像whatsapp配置文件图片的功能,就像我点击它放大的图像。 为此我已经为ImageView设置了onclicklistner并定义了一个对话框。

imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view)
            {
                Dialog imagedialog = new Dialog(MainActivity.this);
                imagedialog.setContentView(R.layout.imagedialog);
                ImageView photo = (ImageView) imagedialog.findViewById(R.id.photoenlarge);

            }
        });

在该对话框中,我有一个ImageView,它将显示放大的图像。

我的相机代码:

btncapture.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View view)
            {
                Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(cameraIntent,CAMERA_REQUEST);
            }
        });

onActivityResult代码:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK)
        {
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            imageView.setImageBitmap(photo);

        }
    }

imageView.setOnClickListener方法中,如何使用捕获的图像设置ImageView photo

2 个答案:

答案 0 :(得分:2)

您可以按照Android文档中的this guide来执行此操作,而不是使用对话框。 它的作用是在同一页面上显示2个图像视图,其中一个显示隐藏的全尺寸图像,当点击小图像时,大图像会显示动画。

答案 1 :(得分:0)

你必须这样

imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view)
            {
                Dialog imagedialog = new Dialog(MainActivity.this);
                imagedialog.setContentView(R.layout.imagedialog);
                ImageView photo = (ImageView) imagedialog.findViewById(R.id.photoenlarge);

          // get the applied image from the imageview as a bitmap

               Bitmap image=((BitmapDrawable)imageView.getDrawable()).getBitmap();

           // set bitmap image to dialog image view
           photo.setImageBitmap(image);
          imagedialog.show();

            }
        });