繁体   English   中英

单击按钮后在弹出窗口中显示图像-Android / Java

[英]Display image in popout window after button is clicked — Android/Java

我已经在互联网上搜索了几个小时的解决方案,但似乎找不到有效的答案。 我已经编写了一个Android应用程序,该应用程序在Eclipse中使用相机模拟器拍摄照片并将其保存到sd卡(路径使用称为“文件”的字符串存储)。 我想做的是显示图像,最好在弹出窗口中显示,并用另一个按钮将其关闭并返回到应用程序。 我希望我需要创建另一个类来做到这一点,但是我不确定所涉及的全部。 我是否需要创建另一个XML文件来进行布局? 如何访问文件并显示它? 我希望如果要使用其他类,可以使用ImageView,但是除此之外,我不确定该怎么做。 除了单击按钮时调用的方法外,我没有真正能提供帮助的代码。 这部分代码工作正常,只是一个看起来像这样的方法:

public void viewPhoto(file){ }

如您所见,该方法内部还没有任何东西,这就是为什么我在这里发布。 我已经尝试了好几个小时,所以非常感谢您可能有任何想法。

编辑:更多信息

我发现的许多建议都要求将图像存储在项目的“ src”文件夹中。 但是,这张照片将全部在同一程序中拍摄和使用,因此,我必须能够仅使用其文件路径来访问它。 我不能只说它在XML中的位置。 我在现有代码中创建了一个Dialog对象,但是不确定是否可以使用。 我计划使用的对话框应该能够从存储在前面提到的字符串中的指定路径访问照片。

我一直在指这个线程中的第一个答案: Android Image Dialog / Popup,但是正如您所看到的,它要求图像位于src文件夹中并以XML指定。

第二编辑:

这是我当前拥有的XML和Java代码。 但是首先我要提到的是,我有两个XML文件-一个名为activity_main.xml,用于处理所有初始按钮,菜单等。第二个仅用于我的照片(称为photo_viewer.xml),并且仅包含ImageView 。

photo_viewer.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pictureViewer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:contentDescription="@string/viewImage" />

</RelativeLayout>

Java生成图像的方法:

public void viewPhoto(String file){ 
    ImageView imageView = new ImageView(getApplicationContext());
    LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,
        LayoutParams.WRAP_CONTENT);
    Bitmap image = BitmapFactory.decodeFile(file);
    imageView.setImageBitmap(image);
    RelativeLayout rl = (RelativeLayout)findViewById(R.id.pictureViewer);
    rl.addView(imageView, lp);
}

您需要创建一个扩展对话框类的类。

请参考此内容如何创建自己的对话框。

如何在android中创建自定义对话框?

然后为了显示图像,只需调用DialogObj.show()即可显示对话框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM