Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 24 апр 2017, 05:40

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 16 фев 2012, 04:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1323
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
В этом уроке:

- используем GridView

Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 23 июн 2016, 22:18, всего редактировалось 3 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 06 мар 2012, 07:42 

Зарегистрирован: 27 фев 2012, 11:53
Сообщений: 17
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Вы пишите что по умолчанию GridView, если не задавать количество столбцов, отобразит все в одном столбце. У меня почему то по умолчанию их оказалось три. Интересно с чем связано такое поведение.

Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 06 мар 2012, 14:54 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1323
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
Обратите внимание на его настройки. Он по дефолту там три прописывает )

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 29 мар 2012, 13:11 

Зарегистрирован: 29 мар 2012, 13:06
Сообщений: 6
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Как сэмулировать выделение всей строки при нажатии на ней, как в ListView на C#?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 22 апр 2012, 10:35 

Зарегистрирован: 21 апр 2012, 10:11
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
В референсе написано, что Grid View это "A view that shows items in two-dimensional scrolling grid". Хотелось бы отметить что scrolling не является "two-dimensional".
Сделал урок с собаками по ссылке и чтобы ячейки выходили за край экрана не только снизу но и справа поменял немного параметры:
1. stretchMode="none"
2. numColumns="6"
3. массив фоток удвоил.

Scrolling так и остался только вертикальным.
Если я что-то не так сделал - поправьте меня.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 22 апр 2012, 20:17 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 22:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
У GridView есть свойство "scrollbars". Может стоит попробовать что-то сделать с ним?

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 23 апр 2012, 19:40 

Зарегистрирован: 21 апр 2012, 10:11
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Да, действительно. Его значение может быть "vertical", "horizontal" или "none" - сразу в двух направлениях нельзя. При этом для GridView "horizontal" и "none" не имеет никаких эффектов, виджет все равно скроллится вертикально.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 06 авг 2012, 17:08 

Зарегистрирован: 30 июл 2012, 14:32
Сообщений: 25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
можно ли объединить ячейки?
можно ли нарисовать нижнею границу?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 06 авг 2012, 19:24 

Зарегистрирован: 16 июл 2012, 08:47
Сообщений: 235
Благодарил (а): 0 раз.
Поблагодарили: 25 раз.
чтобы были обе полосы прокутки, используйте горизонтальный ScrollView, а в него положите GridView.
Объединить ячейки нельзя - используйте TableLayout для этого.
Для того, чтобы нарисовать границы между ячейками - используйте background для задиния цвета, horizontalSpacing, verticalSpacing, margin или padding - для задания толщины линий.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 06 авг 2012, 20:40 

Зарегистрирован: 30 июл 2012, 14:32
Сообщений: 25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
math64 писал(а):
Объединить ячейки нельзя - используйте TableLayout для этого.
Для того, чтобы нарисовать границы между ячейками - используйте background для задиния цвета, horizontalSpacing, verticalSpacing, margin или padding - для задания толщины линий.

и как мне использовать TableLayout? Лучше давайте расскажу о том что хочу сделать а вы может дадите мне совет как лучше это реализовать:
Обычная таблица из 2-х столбцов название и описание, так вот попробовал использовать GridView оказалось ячейки в строках не зависят друг-от друга, у меня таблица в итого должна быть примерно вот такой
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 07 авг 2012, 08:31 

Зарегистрирован: 16 июл 2012, 08:47
Сообщений: 235
Благодарил (а): 0 раз.
Поблагодарили: 25 раз.
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.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 07 авг 2012, 10:16 

Зарегистрирован: 30 июл 2012, 14:32
Сообщений: 25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
math64 писал(а):
В твоё случае нужно объединять строки - используй LinearLayout вертикальной ориентации с двумя TextView внутри.
Для первой колонки - один TextView, используй android:layout_gravity для размещения его внизу, по центру или вверху.
5. Если нужно динамически заполнять данными - возможно, проще использовать ListView.
Шаблон для ячейки - горизонтальный LinearLayout, в котором находятся вертикальные LinearLayout, в которых TextView.

вот что получилось
Изображение
вот так вот я разместил layout-ы
Изображение
все равно друг от друга не зависят, щяс попробую с таблицей.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 07 авг 2012, 10:40 

Зарегистрирован: 16 июл 2012, 08:47
Сообщений: 235
Благодарил (а): 0 раз.
Поблагодарили: 25 раз.
Ты, наверно, не понял - listView один, на все колонки. А вот каждая ячейка состоит из нескольких колонок.
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. public class Row {
  2.         String column1. column2_1, column_2_2;
  3.         public toString() { return column1; }
  4. }
  5. listView.setAdapter(new ArrayAdapter<Row>(this, R.layout.row_layout, R.id.textView1, rows) {
  6.         @Override
  7.         public View getView(int position, View convertView, ViewGroup parent) {
  8.                 Row row = getItem(position);
  9.                 View view = super.getView(position, convertView, parent);
  10.                 TextView textView2_1 = (TextView)view.findViewById(R.id.textView2_1);
  11.                 textView2_1.setText(row.column2_1);
  12.                 TextView textView2_2 = (TextView)view.findViewById(R.id.textView2_2);
  13.                 textView2_1.setText(row.column2_2);
  14.         }
  15. });

row_layout.xml - надеюсь, сам сделаешь.


Последний раз редактировалось math64 07 авг 2012, 16:53, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 07 авг 2012, 16:32 

Зарегистрирован: 30 июл 2012, 14:32
Сообщений: 25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
math64
можете весь код активити дать? что то у меня не получается, эклипс ругается на вот эту строчку
listView.setAdapter(new ArrayAdapter<Row>(this, R.layout.row_layout, R.id.textView1, rows)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 07 авг 2012, 16:52 

Зарегистрирован: 16 июл 2012, 08:47
Сообщений: 235
Благодарил (а): 0 раз.
Поблагодарили: 25 раз.
Там должна быть фигурная скобка, создаём не ArrayAdapter<Row>, а анонимный класс, производный от него и переопределяем метод.
После соответствующей фигурной скобки я пропустил закрывающую круглую.
setAdapter() вызывается в методе onCreate() - смотри урок про ArrayAdapter.
Вместо ArrayAdapter можно использовать SimpleAdapter или CursorAdapter (если данные берутся из базы данных).
Вместо анонимного класса можно использовать обычный - синтаксис у анонимного класса не очень красивый.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 08 авг 2012, 20:59 

Зарегистрирован: 30 июл 2012, 14:32
Сообщений: 25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
не могу понять, не получается ((


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 25 ноя 2012, 15:19 

Зарегистрирован: 19 ноя 2012, 09:20
Сообщений: 28
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всем доброго времени суток!!!

Вопрос: я хочу из главного окна приложения запускать другие активити.... Кол-во кнопок для запуска других активити постоянно. Мне нужно чтобы вид был как в главном окне ...т.е., там где контакты, всякие приложения и т.д. и т.п. Вопрос собственно вот в чем... ЭТО делается с помощью GridView? Или есть какой-то другой способ? Точнее, меня волнует КАК ПРАВИЛЬНО ЭТО делается. Просто, на данный момент у меня в голове только два варианта:
1) GridView
2) Статически разместить кнопочки на экране

Всем заранее спасибо


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 25 ноя 2012, 16:31 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 14:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
вас интересует то как легче разместить кнопки на экране?

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 25 ноя 2012, 17:14 

Зарегистрирован: 19 ноя 2012, 09:20
Сообщений: 28
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
rezak90 писал(а):
вас интересует то как легче разместить кнопки на экране?


Не-не... меня интересует как правильно это делается... т.е. как вообще люди это делают. Просто, разместил в этой ветке вопрос, т.к. думал что может это делается с помощью GridView.

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

Может я не совсем четко сформулировал вопрос... в общем.. еще раз... Вы включаете телефон и там куча программ... вот мне надо чтобы у меня было то же самое... только вместо кучи программ в моем mainActivity были кнопочки к моим активити....


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 25 ноя 2012, 17:42 

Зарегистрирован: 14 май 2012, 17:18
Сообщений: 372
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
Что мне вам посоветовать? Изучайте Андроид последовательно, выполните хотябы несколько первых уроков и вы сами все поймете.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB