【问题标题】:Display image in popout window after button is clicked -- Android/Java单击按钮后在弹出窗口中显示图像 - Android/Java
【发布时间】:2013-11-23 02:24:02
【问题描述】:

我已经在互联网上搜索了几个小时来寻找解决此问题的方法,但我似乎找不到有效的答案。 我编写了一个 android 应用程序,它使用 Eclipse 中的相机模拟器拍摄照片并将其保存到 sd 卡(使用名为“file”的字符串存储路径)。我想做的是显示图像,最好是在一种弹出窗口中,用另一个按钮关闭它并返回应用程序。我希望我需要创建另一个类来执行此操作,但我不确定所涉及的所有内容。我是否必须创建另一个 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);
}

【问题讨论】:

    标签: java android image view


    【解决方案1】:

    您需要创建一个扩展 Dialog Class 的类。

    参考这个如何创建自己的对话框。

    How to create a Custom Dialog box in android?

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

    【讨论】:

    • 嗯,这可能正是我所需要的。我想现在唯一的事情是如何为对话框创建一个单独的布局 XML 文件......?
    • 我给出的链接有关于如何在单独的 xml 中创建对话框布局以及如何继承 Dialog 类的每一个细节。
    • 许多建议要求图像位于“src”文件夹中。但是,这张照片将在同一个程序中全部拍摄和使用,所以我必须能够单独使用它的文件路径来访问它。例如,我创建了第二个 XML,但没有为对话框创建第二个类。相反,我在现有代码中创建了一个 Dialog 对象。首先,我不确定这是否可行,但我想我会问。其次,我需要确保对话框显示来自指定路径的图像。想法?
    • 我已经编辑了原始帖子以使其更清晰。对此感到抱歉。
    • 那么您需要的不同之处在于,您需要从文件中创建一个 Bitmap 或 Drawable 对象,并将其放入您的小部件中。顺便说一句,The Big Nerd Ranch android book 有一个项目使用相机来做到这一点。
    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多