#android
#Android
Вопрос:
У меня есть галерея с изображениями того же размера..
В портретном режиме изображения занимают весь экран, и это работает хорошо, хотя в альбомной ориентации изображения не растягиваются на весь экран, и части других изображений также отображаются на том же экране..
Вот графический адаптер, который я использую:
общедоступный класс ImageAdapter расширяет BaseAdapter { int mGalleryItemBackground; счетчик int = 0 ;
private Context mContext;
public String[] mImageIds;
public ImageAdapter(Context c) {
mContext = c;
TypedArray a = c.obtainStyledAttributes(R.styleable.Gallery1);
mGalleryItemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0);
a.recycle();
}
public void insert(String string)
{
mImageIds[counter]=string;
counter ;
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
i.setImageBitmap(BitmapFactory.decodeFile(mImageIds[position]));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);
return i;
}
}
XML-файл:
<ScrollView
android:id="@ id/QuranGalleryScrollView"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<Gallery android:id="@ id/GalleryLandscape"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</Gallery>
</ScrollView>
Как можно растянуть просмотры изображений внутри галереи, чтобы они соответствовали размеру экрана?
Спасибо
Ответ №1:
В вашем getView()
методе добавьте эту строку:
i.setLayoutParams( new Gallery.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT));
Это то, что работало у меня раньше, попробуйте!
Комментарии:
1. Если у вас предварительная версия Android 2.1, используйте
FILL_PARENT
вместоMATCH_PARENT
. (Он был переименован в Android 2.2.)