2016-04-23 2 views
0

Я включил некоторые изображения в gridview, в конце прокрутки, кажется, выходит из поля без причины. (см. изображение) Может ли кто-нибудь сказать мне, почему? Я отправляю XML-файл и Image Adapter.Android GridView за пределами поля

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

<GridView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/gridView" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:numColumns="4" 
    android:layout_marginBottom="20dp"/> 

public class ImageAdapter extends BaseAdapter { 
    private Context context; 

    public ImageAdapter(Context c) { 
     context = c; 
    } 

    //---returns the number of images--- 
    public int getCount() { 
     return imageName.length; 
    } 

    //---returns the ID of an item--- 
    public Object getItem(int position) { 
     return position; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    //---returns an ImageView view--- 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView; 
     if (convertView == null) { 
      imageView = new ImageView(context); 
      imageView.setLayoutParams(new GridView.LayoutParams(185, 185)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(5, 5, 5, 5); 
     } else { 
      imageView = (ImageView) convertView; 
     } 
     imageView.setImageResource(imageName[position]); 
     return imageView; 
    } 
} 

enter image description here

ответ

1

This должно помочь.

В основном, измените эту строку, чтобы избежать жесткого кодирования размеров пикселей.

imageView.setLayoutParams(new GridView.LayoutParams(185, 185)); 

Верхний ответ here покажет вам, как получить текущий размер экрана (высота/ширина). Используйте эти значения вместо 185.

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