2013-12-17 42 views
0

我有圖片的路徑,我想顯示圖像全屏幕頂部的警告對話框。我該怎麼辦?顯示圖像全屏對話框,然後在

  1. 創建圖像視圖活性和圖像路徑加載到一個位圖(使用採樣,以避免出的存儲器)。然後將imageview設置爲此位圖並在上方顯示警報對話框

  2. 使用View Intent,以便用戶選擇他/她的收藏應用以查看圖片並在上方顯示對話框。

現在第一個解決方案,我知道該怎麼做,但我總是擔心我應該抽樣以避免內存不足。加上其額外工作:)

隨着第二溶液(我喜歡),但我不知道我怎麼會顯示對話框中查看活動被稱爲後,因爲這將是另一個應用程序顯示圖像,除非有辦法我很想念

什麼建議嗎?

+0

你應該選擇1走。 –

+0

因爲........? – Snake

回答

1

可以顯示在設備特定的高度寬度圖像....然後你不出去的內存IMAGESIZE。

這是代碼:

@SuppressLint("NewApi") 
    public static int getDeviceWidth(Activity activity) { 
     int deviceWidth = 0; 

     Point size = new Point(); 
     WindowManager windowManager = activity.getWindowManager(); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
      windowManager.getDefaultDisplay().getSize(size); 
      deviceWidth = size.x; 
     } else { 
      Display display = windowManager.getDefaultDisplay(); 
      deviceWidth = display.getWidth(); 
     } 
     return deviceWidth; 
    } 

    @SuppressLint("NewApi") 
    public static int getDeviceHeight(Activity activity) { 
     int deviceHeight = 0; 

     Point size = new Point(); 
     WindowManager windowManager = activity.getWindowManager(); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
      windowManager.getDefaultDisplay().getSize(size); 
      deviceHeight = size.y; 
     } else { 
      Display display = windowManager.getDefaultDisplay(); 
      deviceHeight = display.getHeight(); 
     } 
     return deviceHeight; 
    } 

您可以使用設備高度和width..and設置imageview的這一形象..

ImageView image = new ImageView(viewHomeScreen); 
     FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
       FrameLayout.LayoutParams.FILL_PARENT, 
       FrameLayout.LayoutParams.FILL_PARENT); 

     params.height = getDeviceHeight(activity); 
     params.width = getDevicewidth(activity); 
FrameLayout framelayout = new FrameLayout(viewHomeScreen); 

     framelayout.addView(image, 0, params); 
+0

這非常有幫助。解碼文件以獲取位圖時,我可以使用hight/width(使用採樣)。對? – Snake

+0

對............ – dipali

+0

@dipali你好.... – Piyush