2013-08-16 6 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 –

Смежные вопросы