Урок 57. GridView и его атрибуты
Урок 57. GridView и его атрибуты
В этом уроке:
- используем GridView
[url=http://www.startandroid.ru/ru/uroki/vse ... l:2quetmuv]Click here to read this article![/url:2quetmuv]
- используем GridView
[url=http://www.startandroid.ru/ru/uroki/vse ... l:2quetmuv]Click here to read this article![/url:2quetmuv]
Последний раз редактировалось damager82 08 май 2017, 16:02, всего редактировалось 4 раза.
-
- Сообщения: 17
- Зарегистрирован: 27 фев 2012, 10:53
Re: Урок 57. GridView и его атрибуты
Вы пишите что по умолчанию GridView, если не задавать количество столбцов, отобразит все в одном столбце. У меня почему то по умолчанию их оказалось три. Интересно с чем связано такое поведение.
Re: Урок 57. GridView и его атрибуты
Обратите внимание на его настройки. Он по дефолту там три прописывает )
Re: Урок 57. GridView и его атрибуты
Как сэмулировать выделение всей строки при нажатии на ней, как в ListView на C#?
-
- Сообщения: 2
- Зарегистрирован: 21 апр 2012, 09:11
Re: Урок 57. GridView и его атрибуты
В референсе написано, что Grid View это "A view that shows items in two-dimensional scrolling grid". Хотелось бы отметить что scrolling не является "two-dimensional".
Сделал урок с собаками по ссылке и чтобы ячейки выходили за край экрана не только снизу но и справа поменял немного параметры:
1. stretchMode="none"
2. numColumns="6"
3. массив фоток удвоил.
Scrolling так и остался только вертикальным.
Если я что-то не так сделал - поправьте меня.
Сделал урок с собаками по ссылке и чтобы ячейки выходили за край экрана не только снизу но и справа поменял немного параметры:
1. stretchMode="none"
2. numColumns="6"
3. массив фоток удвоил.
Scrolling так и остался только вертикальным.
Если я что-то не так сделал - поправьте меня.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 57. GridView и его атрибуты
У GridView есть свойство "scrollbars". Может стоит попробовать что-то сделать с ним?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
-
- Сообщения: 2
- Зарегистрирован: 21 апр 2012, 09:11
Re: Урок 57. GridView и его атрибуты
Да, действительно. Его значение может быть "vertical", "horizontal" или "none" - сразу в двух направлениях нельзя. При этом для GridView "horizontal" и "none" не имеет никаких эффектов, виджет все равно скроллится вертикально.
Re: Урок 57. GridView и его атрибуты
можно ли объединить ячейки?
можно ли нарисовать нижнею границу?
можно ли нарисовать нижнею границу?
Re: Урок 57. GridView и его атрибуты
чтобы были обе полосы прокутки, используйте горизонтальный ScrollView, а в него положите GridView.
Объединить ячейки нельзя - используйте TableLayout для этого.
Для того, чтобы нарисовать границы между ячейками - используйте background для задиния цвета, horizontalSpacing, verticalSpacing, margin или padding - для задания толщины линий.
Объединить ячейки нельзя - используйте TableLayout для этого.
Для того, чтобы нарисовать границы между ячейками - используйте background для задиния цвета, horizontalSpacing, verticalSpacing, margin или padding - для задания толщины линий.
Re: Урок 57. GridView и его атрибуты
и как мне использовать TableLayout? Лучше давайте расскажу о том что хочу сделать а вы может дадите мне совет как лучше это реализовать:math64 писал(а):Объединить ячейки нельзя - используйте TableLayout для этого.
Для того, чтобы нарисовать границы между ячейками - используйте background для задиния цвета, horizontalSpacing, verticalSpacing, margin или padding - для задания толщины линий.
Обычная таблица из 2-х столбцов название и описание, так вот попробовал использовать GridView оказалось ячейки в строках не зависят друг-от друга, у меня таблица в итого должна быть примерно вот такой
Re: Урок 57. GridView и его атрибуты
1. Влезает всё в экран? - если нет нужно использовать ScrollView. (Если нужна и горизонтальная, и вертикальная прокрутки - два ScrollView)
2. Первые строки - это заголовок? - если да, он не должен включён в вертикальный ScrollView. В этом случае используется два TableLayout, а ширина столбцов задаётся фиксированными значениями, весами, или вычисляется программно.
3. Горизональные линии в данном случае проще задать с помощью View с чёрным фоном, высотой 1dp, шириной fill_parent.
4. Сам TableLayout устроен аналогично тегу <table> в html - внутри TableRow, внутри которых можешь разместить TextView.
Обединять только колонки - аттрибуты android:layout_column и android:layout_span.
В твоё случае нужно объединять строки - используй LinearLayout вертикальной ориентации с двумя TextView внутри.
Для первой колонки - один TextView, используй android:layout_gravity для размещения его внизу, по центру или вверху.
5. Если нужно динамически заполнять данными - возможно, проще использовать ListView.
Шаблон для ячейки - горизонтальный LinearLayout, в котором находятся вертикальные LinearLayout, в которых TextView.
2. Первые строки - это заголовок? - если да, он не должен включён в вертикальный ScrollView. В этом случае используется два TableLayout, а ширина столбцов задаётся фиксированными значениями, весами, или вычисляется программно.
3. Горизональные линии в данном случае проще задать с помощью View с чёрным фоном, высотой 1dp, шириной fill_parent.
4. Сам TableLayout устроен аналогично тегу <table> в html - внутри TableRow, внутри которых можешь разместить TextView.
Обединять только колонки - аттрибуты android:layout_column и android:layout_span.
В твоё случае нужно объединять строки - используй LinearLayout вертикальной ориентации с двумя TextView внутри.
Для первой колонки - один TextView, используй android:layout_gravity для размещения его внизу, по центру или вверху.
5. Если нужно динамически заполнять данными - возможно, проще использовать ListView.
Шаблон для ячейки - горизонтальный LinearLayout, в котором находятся вертикальные LinearLayout, в которых TextView.
Re: Урок 57. GridView и его атрибуты
вот что получилосьmath64 писал(а):В твоё случае нужно объединять строки - используй LinearLayout вертикальной ориентации с двумя TextView внутри.
Для первой колонки - один TextView, используй android:layout_gravity для размещения его внизу, по центру или вверху.
5. Если нужно динамически заполнять данными - возможно, проще использовать ListView.
Шаблон для ячейки - горизонтальный LinearLayout, в котором находятся вертикальные LinearLayout, в которых TextView.
вот так вот я разместил layout-ы
все равно друг от друга не зависят, щяс попробую с таблицей.
Re: Урок 57. GridView и его атрибуты
Ты, наверно, не понял - listView один, на все колонки. А вот каждая ячейка состоит из нескольких колонок.
row_layout.xml - надеюсь, сам сделаешь.
Код: Выделить всё
public class Row {
String column1. column2_1, column_2_2;
public toString() { return column1; }
}
listView.setAdapter(new ArrayAdapter<Row>(this, R.layout.row_layout, R.id.textView1, rows) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Row row = getItem(position);
View view = super.getView(position, convertView, parent);
TextView textView2_1 = (TextView)view.findViewById(R.id.textView2_1);
textView2_1.setText(row.column2_1);
TextView textView2_2 = (TextView)view.findViewById(R.id.textView2_2);
textView2_1.setText(row.column2_2);
}
});
Последний раз редактировалось math64 07 авг 2012, 15:53, всего редактировалось 1 раз.
Re: Урок 57. GridView и его атрибуты
math64
можете весь код активити дать? что то у меня не получается, эклипс ругается на вот эту строчку
listView.setAdapter(new ArrayAdapter<Row>(this, R.layout.row_layout, R.id.textView1, rows)
можете весь код активити дать? что то у меня не получается, эклипс ругается на вот эту строчку
listView.setAdapter(new ArrayAdapter<Row>(this, R.layout.row_layout, R.id.textView1, rows)
Re: Урок 57. GridView и его атрибуты
Там должна быть фигурная скобка, создаём не ArrayAdapter<Row>, а анонимный класс, производный от него и переопределяем метод.
После соответствующей фигурной скобки я пропустил закрывающую круглую.
setAdapter() вызывается в методе onCreate() - смотри урок про ArrayAdapter.
Вместо ArrayAdapter можно использовать SimpleAdapter или CursorAdapter (если данные берутся из базы данных).
Вместо анонимного класса можно использовать обычный - синтаксис у анонимного класса не очень красивый.
После соответствующей фигурной скобки я пропустил закрывающую круглую.
setAdapter() вызывается в методе onCreate() - смотри урок про ArrayAdapter.
Вместо ArrayAdapter можно использовать SimpleAdapter или CursorAdapter (если данные берутся из базы данных).
Вместо анонимного класса можно использовать обычный - синтаксис у анонимного класса не очень красивый.
Re: Урок 57. GridView и его атрибуты
не могу понять, не получается ((
Re: Урок 57. GridView и его атрибуты
Всем доброго времени суток!!!
Вопрос: я хочу из главного окна приложения запускать другие активити.... Кол-во кнопок для запуска других активити постоянно. Мне нужно чтобы вид был как в главном окне ...т.е., там где контакты, всякие приложения и т.д. и т.п. Вопрос собственно вот в чем... ЭТО делается с помощью GridView? Или есть какой-то другой способ? Точнее, меня волнует КАК ПРАВИЛЬНО ЭТО делается. Просто, на данный момент у меня в голове только два варианта:
1) GridView
2) Статически разместить кнопочки на экране
Всем заранее спасибо
Вопрос: я хочу из главного окна приложения запускать другие активити.... Кол-во кнопок для запуска других активити постоянно. Мне нужно чтобы вид был как в главном окне ...т.е., там где контакты, всякие приложения и т.д. и т.п. Вопрос собственно вот в чем... ЭТО делается с помощью GridView? Или есть какой-то другой способ? Точнее, меня волнует КАК ПРАВИЛЬНО ЭТО делается. Просто, на данный момент у меня в голове только два варианта:
1) GridView
2) Статически разместить кнопочки на экране
Всем заранее спасибо
Re: Урок 57. GridView и его атрибуты
вас интересует то как легче разместить кнопки на экране?
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 57. GridView и его атрибуты
Не-не... меня интересует как правильно это делается... т.е. как вообще люди это делают. Просто, разместил в этой ветке вопрос, т.к. думал что может это делается с помощью GridView.rezak90 писал(а):вас интересует то как легче разместить кнопки на экране?
Просто, я не знаю.. может для этих целей существует вообще другой метод.... а использоание GridView - то костыльный метод.
Может я не совсем четко сформулировал вопрос... в общем.. еще раз... Вы включаете телефон и там куча программ... вот мне надо чтобы у меня было то же самое... только вместо кучи программ в моем mainActivity были кнопочки к моим активити....
Re: Урок 57. GridView и его атрибуты
Что мне вам посоветовать? Изучайте Андроид последовательно, выполните хотябы несколько первых уроков и вы сами все поймете.