2013-08-16 197 views
0

如何讓我的圖像在網格視圖中填充屏幕?Android GridView使圖像填充屏幕

這裏是我的佈局代碼:

<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/grid_view" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_margin="10dp" 
    android:padding="10dp" 
    android:columnWidth="100dp" 
    android:gravity="center" 
    android:horizontalSpacing="10dp" 
    android:numColumns="auto_fit" 
    android:stretchMode="columnWidth" 
    android:verticalSpacing="10dp" > 
</GridView> 

我將發佈屏幕的畫面。

但它顯示的圖像很小,而不是使用整個屏幕。

這裏是我的適配器類:

public class MenuCategoryAdapter extends BaseAdapter { 

    private GlobalObjects global; 
    private Context mContext; 

    // Keep all Objects in array 
    public ArrayList<MenuCategory> categories = new ArrayList<MenuCategory>(); 

    // Constructor 
    public MenuCategoryAdapter(Context c, GlobalObjects _global) { 
     mContext = c; 
     global = _global; 

     JSONArray categoriesObj = getCategoriesFromServer(); 
     if (categoriesObj != null) { 
      putCategoriesIntoArray(categoriesObj); 
     } else { 
      // Categories is null 
      Log.e("ImageAdapter", " Categories is null"); 
     } 
    } 

    @Override 
    public int getCount() { 
     return categories.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return categories.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView = categories.get(position).getImg(); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setLayoutParams(new GridView.LayoutParams(70, 70)); 
     return imageView; 
    } 
} 

回答

1

這裏是網格視圖將填補你的屏幕。它適合我這樣做。如果發生任何錯誤,立即通知我。

<?xml version="1.0" encoding="utf-8"?> 

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/grid_view" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:numColumns="auto_fit" 
    android:columnWidth="90dp" 
    android:horizontalSpacing="5dp" 
    android:verticalSpacing="5dp" 
    android:gravity="center" 
    android:stretchMode="columnWidth" > 

    </GridView> 

此外,您需要編輯您的java代碼。 請將比例從70,70改爲fill_parant

我也爲它的示例應用程序。如果你需要它,請告訴我,我會爲你上傳它。

+0

您可以在這裏查看詳細的網格視圖示例。 https://www.dropbox.com/s/vkirr6gn8q85p4c/Grid.rar –