2013-11-23 40 views
0

我一直在尋找互聯網尋找解決這個問題幾個小時,現在我似乎無法找到有效的答案。 我已經編寫了一個android應用程序,它使用Eclipse中的相​​機模擬器拍攝照片並將其保存到SD卡(路徑使用稱爲「文件」的字符串存儲)。我想要做的是顯示圖像,最好是在彈出式窗口中,用另一個按鈕關閉它並返回到應用程序。我希望我需要創建另一個課程來完成這個任務,但我不確定所有涉及的內容。我需要創建另一個XML文件來進行佈局嗎?我怎樣才能訪問該文件並顯示它?我希望我會使用ImageView,如果我要使用另一個類,但除此之外,我不知道該怎麼做。 除了單擊按鈕時調用的方法以外,沒有太多的代碼可以提供幫助。在這部分代碼工作得很好,而且它只是看起來像這樣的方法:點擊按鈕後在彈出窗口中顯示圖像 - Android/Java

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

回答

1

你需要創建一個類將擴展對話框類。

請參閱這個如何創建自己的對話框。

How to create a Custom Dialog box in android?

則表示只要調用DialogObj.show圖像()顯示對話框。

+0

嗯,那可能正是我所需要的。我想現在唯一的事情是如何爲對話框創建一個單獨的佈局XML文件....? – DerStrom8

+0

我給出的鏈接有關於如何在單獨的xml中創建對話框佈局以及如何繼承Dialog類的每一個細節。 – Kirtan

+0

許多建議要求圖像位於「src」文件夾中。但是,這張照片將在同一個程序中使用,因此我必須能夠單獨使用它的文件路徑來訪問它。例如,我創建了第二個XML,但沒有爲對話創建第二個類。相反,我在我現有的代碼中創建了一個Dialog對象。首先我不確定這是否會奏效,但我想我會問。其次,我需要確保對話框顯示來自指定路徑的圖像。思考? – DerStrom8

相關問題