【问题标题】:Setting onclickListener on ImageView to view enlarged image在 ImageView 上设置 onclickListener 以查看放大的图像
【发布时间】:2018-01-24 08:07:42
【问题描述】:

在我的应用程序中,我有一个打开相机并捕获图像的按钮。当我捕获图像时,我将其设置在 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 与捕获的图像??

【问题讨论】:

    标签: java android android-imageview


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你必须这样做

      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();
      
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 2017-07-02
        • 2015-03-09
        • 2014-09-03
        • 2014-11-07
        • 2014-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多