powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Gridview, оптимизация под все экраны
2 сообщений из 2, страница 1 из 1
Gridview, оптимизация под все экраны
    #39540763
mishanches
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте! При разработке приложения столкнулся с такой проблемой: не могу оптимизировать отображение картинок в Gridview (на активности - галерея фотографий, при нажатии на любое фото - открывается новая активность с этой фотографией на весь экран), чтобы на всех устройствах отображалось одинаково.

Пробовал задавать размер изображения в :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@Override
    public View getView(int position, View view, ViewGroup viewGroup) {         
 
        ImageView imageView = new ImageView(context);
        imageView.setImageResource(images[position]); 
        imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
        imageView.setLayoutParams(new GridView.LayoutParams(120, 120)); 
        return imageView;
    }



Тогда получается, что на малых экранах(mdpi) отображается хорошо, а на больших экранах отображается некрасиво: картинки маленькие и расстояние между ними большое.

Пробовал LayoutParams.WRAP_CONTENT и LayoutParams.MATCH_PARENT:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@Override
    public View getView(int position, View view, ViewGroup viewGroup) {         
 
        ImageView imageView = new ImageView(context);
        imageView.setImageResource(images[position]); 
        imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
        imageView.setLayoutParams(new GridView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
        return imageView;
    }



Но тогда возникает проблема при переходе на новую активность в полный размер. В этом случае можно подобрать размер картинки так, чтобы он хорошо отображался в галереи, но когда переходишь на активность с полной фото, тогда картинка не становиться больше (такая же по размеру как и в галереи). Если делать большой изначально картинку, то на активности с полной фото - во весь экран, а на активности галереи - появляются пробелы между картинками.

Вот сам xml:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="10dp"
            android:paddingBottom="0dp"
            android:paddingLeft="0dp"
            android:paddingRight="0dp"
            android:paddingTop="0dp"
            tools:context="com.example.mish.gallery2.MainActivity">
 
            <GridView
                android:id="@+id/gridView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingLeft="20dp"
                android:paddingTop="20dp"
                android:paddingRight="20dp"
                android:horizontalSpacing="10dp"
                android:numColumns="auto_fit"
                android:stretchMode="columnWidth"
                android:verticalSpacing="10dp"
 
 
                 />
 
        </RelativeLayout>



Кто-нибудь сталкивался с такой проблемой? Помогите разобраться.
Всем откликнувшимся спасибо!
...
Рейтинг: 0 / 0
Gridview, оптимизация под все экраны
    #39540766
mishanches
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неактуально, решил проблему :)
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Gridview, оптимизация под все экраны
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]