2012-07-13 38 views
0

我不知道什麼是創造我的應用程序一個圖片庫的最佳途徑。我從RSS源中獲取圖片,並且想要以全屏方式顯示它們中的每一個。我應該使用什麼?我試圖用一個ImageView的,但圖像是在一個糟糕的方式調整(不保留原始尺寸)什麼是Android上最好的方式來創建一個照片庫(全屏)

我用這個答案來實現我的畫廊:Android Gallery fullscreen

感謝的

編輯:

這裏的XML佈局:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <android.support.v4.view.ViewPager 
     android:id="@+id/galleryPager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

    </android.support.v4.view.ViewPager> 

</LinearLayout> 

,這裏是我在我的適配器使用的代碼加載圖像:

@Override 
public Object instantiateItem(View collection, int position) { 
    ImageView imageView = new ImageView(context); 
    imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
    imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
    ImageDownloader.getInstance().download(gallery.get(position), ImageFormat.CONTENT_316, imageView); 

     ((ViewPager) collection).addView(imageView, 0); 

     return imageView; 
} 
+0

別人留下評論暗示它,這已經很明顯了刪除。 – FoamyGuy 2012-07-13 14:17:12

回答

0

我上面使用的幾乎是正確的代碼,我只是改變ImageView.ScaleType.FIT_XY到ImageView.ScaleType。CENTER_CROP

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <android.support.v4.view.ViewPager 
     android:id="@+id/galleryPager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

    </android.support.v4.view.ViewPager> 

</LinearLayout> 

下面是我在我的適配器用於加載圖像的代碼:

@Override 
public Object instantiateItem(View collection, int position) { 
    ImageView imageView = new ImageView(context); 
    imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
    imageView.setScaleType(**ImageView.ScaleType.CENTER_CROP**); 
    ImageDownloader.getInstance().download(gallery.get(position), ImageFormat.CONTENT_316, imageView); 

     ((ViewPager) collection).addView(imageView, 0); 

     return imageView; 
} 
1

我會用一個ViewPager與它裏面ImageViews。

您可以指定ImageView如何使用xml中的android:scaleType屬性對圖像進行拉伸(或不拉伸)。如果您分享一些您使用帶有ImageViews,也許給一點關於你如何婉他們出現,我可以盡力幫助你得到它正確設置更多信息的代碼。

此外,我建議你看一看Displaying Bitmaps Efficiently的最佳實踐與圖片的時候使用,以保持您的應用程序頂尖的性能。

+0

感謝您的回答,我發佈了我的代碼。有了這些代碼,圖像會失去它們的比例* – Fr4nz 2012-07-13 14:36:16

1

使用Adapter & ListView來顯示圖像幻燈片。

現在在適配器項目的佈局使用ImageViewfill_parent兩個寬度& HIGHT像下面的代碼:

<ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:scaleType="fitXY" /> 

你可能會建議使用在橫向模式下手機獲得更好的性能的用戶。所以要額外佈局佈局土地文件夾

0

一個辦法是

  • 從RSS Feed中獲取圖像的URL
  • 展示他們作爲一個自定義庫縮略圖(可以通過水平的LinearLayout設置在它的ImageView,滾動型內)的圖像
  • 使用惰性加載,以顯示這些縮略圖
  • 覆蓋onClickListener獲得點擊事件
  • 並且在此的onClick加載網頁視圖當前圖像的URL。
  • 的WebView具有變焦好等特點,沿圖片等移動..
相關問題