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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 646
#1

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

03.08.2015, 08:55. Просмотров 274. Ответов 3
Метки нет (Все метки)

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

Какая зависимость между размером шрифта и размером вью - Программирование Android
Как вы думаете зависимость прямая или нет? вьюшка оборачивает текст конечно)

Сетка на изображении - Программирование Android
Здравствуйте! на днях написал программу на паскале, которая через заданное количество пикселей ведет линию от начала изображения до конца...

Обработка движения пальца по экрану - Программирование Android
Подскажите, пожалуйста, как обрабатывать движение пальца по экрану, например, параллельно высоте экрана, т. е. прикосновение пальца, затем...

Задать размер кнопки пропорционально экрану - Программирование Android
как задать размер кнопки пропорционально экрану, например, кнопка=1/2 экрана???

Как вообще запретить поворачиваться экрану? - Программирование Android
Полность запретить, пока не сделал смену. Спасибо.

Считывание view при движении пальцем по экрану - Программирование Android
Добрый день, коллеги. Прошу помощи, возможно ли сделать следующую штуку - веду по экрану пальцем не отрывая последний, а программа...

Как запретить поддержку устройств с определённым размером экрана? - Программирование Android
Как запретить поддержку устройств с определённым размером экрана? пробовал android:xlargeScreens="false" - не помогает

Прочитать из res/raw текст размером 1мб за наименьшее время - Программирование Android
Здравствуйте. В программировании на Java новичок. Нужно загрузить в память из res/raw текстовый файл размером ~1mb Пробовал так: ...

По экрану сетка и не прогружается рабочий стол и через некоторое время идёт синий экран и перезагрузка - BSOD
У меня такая проблема при запуски Windows Vista по экрану сетка и не прогружается рабочий стол и через некоторое время идёт синий экран...

Из заданной матрицы A размером получить матрицу В размером по правилу: первый столбец состоит из положительных элементов, второй – из отрицате - C++
1. Из заданной матрицы A размером получить матрицу В размером по правилу: первый столбец состоит из положительных элементов, второй –...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
03.08.2015, 09:57     Сетка элементов с размером по экрану #2
можно переопределить метод onMeasure() в классе GridLayout на свой и там брать размер самого контейнера и делить на размер элементов (он же известен заранее)
результат деления это и будет количество колонок, которое можно там же, в onMeasure задать
jenokizm
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 646
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
17 / 33 / 10
Регистрация: 27.03.2014
Сообщений: 646
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     Сетка элементов с размером по экрану
Ответ Создать тему
Опции темы

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