【问题标题】:Android: Enlarging an image on clickAndroid:点击放大图像
【发布时间】:2011-10-31 05:07:07
【问题描述】:

我正在制作一个需要它的 android 应用程序,当用户单击图像时,我希望它在全屏中打开。我该如何做到这一点? 谁能帮我解决这个问题? 谢谢

【问题讨论】:

标签: android imageview


【解决方案1】:

获取所选图像的图像 ID,然后使用 Intent 将该图像 ID 传递给 FullImage 活动。使用 ImageView 在该活动中显示图像。

这样编码

Activity1 // 有图片的地方..

Intent fullScreenIntent = new Intent(v.getContext(),Full.class); 
fullScreenIntent.putExtra(Full.class.getName(),imageId);

在 FullImage Activity..添加此编码。

int imageId1 = intent.getIntExtra(Full.class.getName(),default1); 
InputStream is = this.getResources().openRawResource(imageId1);
Bitmap originalBitmap = BitmapFactory.decodeStream(is);
ImageView myimage = (ImageView) findViewById(R.id.ImageView01);
myimage.setImageBitmap(originalBitmap);
myimage.setScaleType(ScaleType.MATRIX);  

【讨论】:

  • 这里的 default1 是什么?如果我们需要从不同的类(即在不同的活动中)获取图像,则需要做同样的事情。
  • 你是否使用gridview来显示小图像如果你使用grindview你会从中得到imageid。
  • 不,我没有使用gridview,我只是将图像添加到表中的行
  • 为什么喜欢使用网格视图,它易于显示图像并从中获取大图像。
  • 其实这是我的要求
【解决方案2】:

您可以轻松地做到这一点。

如果您对您的活动有其他视图,只需将其可见性设置为消失,并在 Click 事件上使 imageview 填充父级。

【讨论】:

  • 进行布尔检查,可用于检查当前状态。如果在全屏上,则使其正确,反之亦然。甚至您可以放置​​动画来隐藏/显示您的其他视图。
  • 请告诉我如何进行布尔检查
  • 亲爱的,很简单。只需制作一个布尔变量,如 Boolean fullScreen;并在活动创建时使其为假。现在在单击侦听器上,在进入全屏之前首先检查布尔值。如果为假,则调用全屏功能并使其为真。现在在下一次点击时,控件将转到 else 语句,您可以在其中调用小屏幕函数并将 fullScreen 布尔值设置为 false...希望现在对您来说已经足够了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
相关资源
最近更新 更多