2015-04-29 107 views
0

我使用片段,我想顯示ImageView的我在縮略圖中另一個視圖或對話得到了我的片段?或其他東西用於顯示:)OnClickListener顯示的ImageView /片段

我想當我們點擊ImageView,新視圖顯示,當我們點擊按鈕,返回主片段。

我已經實現了我的onClickListener,這工作,但我不知道如何來傳遞數據或任何用於全屏顯示的ImageView ...

這裏是我的onClickListener代碼:

mImageReport.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (zoomOut) { 

       zoomOut = false; 
      } else { 

       zoomOut = true; 
      } 
     } 
    }); 
+0

只是用不同的全屏幕布局和設置ImageView的爲比賽_parent。在點擊事件時使視圖可見並且不可見。 – Kunu

+0

@Kunu我用布爾值更新了我的代碼,現在我只需要知道如何設置不同的佈局並將ImageView設置爲match_parent。 –

+0

這有什麼好的理由嗎?如果沒有,那麼我會建議你試試這個。您可以使用Intent將圖像轉換爲位圖來傳輸圖像,但同樣會耗費大量內存,並且不可取。 – Kunu

回答

0

無需創建顯示全屏圖像的新窗口。您可以使用android默認圖庫圖像查看器。只需將完整的圖像路徑或圖像URI設置爲「mImageReport」作爲標籤,就可以在其onClick中找回它。使用的代碼下面一行顯示全屏幕圖像

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("content://media/external/images/media/16"))); /** replace with your own uri */ 
+0

是的,但我的mImageReport加載像http://www.google.com/image.jpg這樣的URL,那麼如何在Uri.parse中傳遞我的數據?我的mImageReport加載我的網址與mCurrentReportString.getUrlImages() –

+0

並顯示它:UrlImageViewHelper.setUrlDrawable(mImageReport,mCurrentReportString.getUrlImages()); –

+0

我以爲你想從本地存儲顯示全屏圖像。所以你想在全屏模式下加載遠程圖像? – Narendra

0

可以設置全屏對話框,顯示像包含圖像視圖,只有關閉按鈕的佈局下面

final Dialog nagDialog = new Dialog(this,android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 
     nagDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     nagDialog.setCancelable(false); 
     nagDialog.setContentView(R.layout.preview_image); 
     Button btnClose = (Button)nagDialog.findViewById(R.id.btnIvClose); 
     ImageView ivPreview = (ImageView)nagDialog.findViewById(R.id.iv_preview_image); 
     ivPreview.setBackgroundDrawable(dd); 

     btnClose.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 

       nagDialog.dismiss(); 
      } 
     }); 
     nagDialog.show(); 

XML代碼的圖像:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<ImageView android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:id="@+id/iv_preview_image" /> 


<Button android:layout_width="wrap_content" 
    android:layout_height="wrap_content" android:background="@drawable/close" 
    android:id="@+id/btnIvClose" android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" /> 

+0

感謝您的回覆,爲什麼在第一行的backgroundsActivity無法識別?我正在使用片段 –

+0

好吧,我編輯了:)。謝謝 – manDroid

+0

最後一個問題:ivPreview.setBackgroundDrawable(dd)中的「dd」是什麼? ?因爲它對我來說是紅色的... –