Форум программистов, компьютерный форум CyberForum.ru

Сетка элементов с размером по экрану - Android

Войти
Регистрация
Восстановить пароль
 
jenokizm
14 / 30 / 8
Регистрация: 27.03.2014
Сообщений: 600
03.08.2015, 08:55     Сетка элементов с размером по экрану #1
Мне нужно чтото типа GridView только без ручного setNumColumns(). Элементы помещенные внутрь должны занимать горизонтально весть экран не зависимо от ориентации и размера, а в случае если не помещаются то переносится на другую строку с небольшим отступом от самого длинного из предыдущей строки.
т.е. у меня по задаче заранее не известен размер экрана и количество элементов, а также из длина. При этом ширина каждого неизменна. Примерно как я себе это представляю набросал на скрине
Миниатюры
Сетка элементов с размером по экрану   Сетка элементов с размером по экрану  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2015, 08:55     Сетка элементов с размером по экрану
Посмотрите здесь:

Как запретить поддержку устройств с определённым размером экрана? Android
Сетка на изображении Android
Android Как вообще запретить поворачиваться экрану?
Обработка движения пальца по экрану Android
Считывание view при движении пальцем по экрану Android
Android Прочитать из res/raw текст размером 1мб за наименьшее время
Android Задать размер кнопки пропорционально экрану
Какая зависимость между размером шрифта и размером вью Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,862
Завершенные тесты: 1
03.08.2015, 09:57     Сетка элементов с размером по экрану #2
можно переопределить метод onMeasure() в классе GridLayout на свой и там брать размер самого контейнера и делить на размер элементов (он же известен заранее)
результат деления это и будет количество колонок, которое можно там же, в onMeasure задать
jenokizm
14 / 30 / 8
Регистрация: 27.03.2014
Сообщений: 600
03.08.2015, 12:51  [ТС]     Сетка элементов с размером по экрану #3
Паблито, спс за ответ. Чето в лом считать вручную... вроде надыбал инфу что мол GridView есть setNumColumns(GridView.AUTO_FIT) и тогда он сам будет переносить)
Только теперь проблема в добавлении элементов...
Вот так приложение падает:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//my code
        GridView gvMain = (GridView)findViewById(R.id.mygrid);
 
        Button btn = new Button(this);
        btn.setLayoutParams(new LinearLayout.LayoutParams(
                android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
        btn.setText("Btn ");
 
        TextView textview = new TextView(this);
        textview.setLayoutParams(new LinearLayout.LayoutParams(
                android.view.ViewGroup.LayoutParams.WRAP_CONTENT,
                android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
        textview.setText("TV ");
        textview.setTextColor(Color.RED);
 
        gvMain.addView(textview);
        gvMain.addView(btn);
jenokizm
14 / 30 / 8
Регистрация: 27.03.2014
Сообщений: 600
05.08.2015, 16:49  [ТС]     Сетка элементов с размером по экрану #4
Решил проблему созданием кастомного адаптера без всяких сомнительных аргументов в шаблоне)
По вот этому примеру
получилось
C#
1
2
3
4
5
public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View page = pages[position];
            return page;
        }
Вот тут вьюшка из массива подается и все гуд)
Yandex
Объявления
05.08.2015, 16:49     Сетка элементов с размером по экрану
Ответ Создать тему
Опции темы

Текущее время: 19:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru