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

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 20 сен 2018, 17:28

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




Начать новую тему Ответить на тему  [ Сообщений: 53 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Урок 57. GridView и его атрибуты
СообщениеДобавлено: 25 ноя 2012, 16:47 

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


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


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

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
LinearLayout и RelativeLayout в 99% хватает что бы построить любое оформление для приложения. Вот с помощу них и делайте.

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


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

Зарегистрирован: 19 ноя 2012, 08:20
Сообщений: 28
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
rezak90 писал(а):
LinearLayout и RelativeLayout в 99% хватает что бы построить любое оформление для приложения. Вот с помощу них и делайте.


Спасибо!
Просто, я думал может есть какой-то ActivityPanelScreen или ActivityGroupScreen, в который можно передать список активити, задать свойства отображения ... и крекс-пекс-фекс.... главное не забыть полить из лужи с дождевой водой ;)


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

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Цитата:
Просто, я думал может есть какой-то ActivityPanelScreen или ActivityGroupScreen, в который можно передать список активити, задать свойства отображения ... и крекс-пекс-фекс....

ну так такое можно написать =)

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


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

Зарегистрирован: 14 май 2012, 16:18
Сообщений: 372
Благодарил (а): 0 раз.
Поблагодарили: 6 раз.
nubodroid писал(а):

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


Можно реализовать и через GridView , но это не является стандартом у профессионалов. Все зависит от задачи и дизайна проекта. Если у вас просто набор кнопок, то врядли это будет удобно, хотя и возможно. А если у вас к примеру куча картинок и при клике на картинку должно совершаться действие или запуск активити, то вполне возможно, что реализация через GridView будет удобнее и элегантнее.


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

Зарегистрирован: 05 янв 2013, 19:15
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте!

А можно как то зафиксировать верхнюю строку (типа заголовок) и левую колонку?

Спасибо!


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

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

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


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

Зарегистрирован: 27 дек 2012, 18:11
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте! подскажите, реально ли переопределить класс GridView, чтобы добиться такого(например) построения сетки:
Изображение

Суть - ремдомная высота ячейки, ширина - по экрану.

Спасибо!


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

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
можно, только переопределение грида не поможет потому что ячейки отрисовывает адаптер, вот в нём и нужно реализовывать функционал, а высоту ячейки просто задаётся view.getLayoutParams.height = 100;

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


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

Зарегистрирован: 27 дек 2012, 18:11
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
rezak90 писал(а):
можно, только переопределение грида не поможет потому что ячейки отрисовывает адаптер, вот в нём и нужно реализовывать функционал, а высоту ячейки просто задаётся view.getLayoutParams.height = 100;


смотрел исходники грида, то думаю придется переопределять метод onMeasure(). могу ошибаться.

там алгоритм построения не гибкий.

http://stackoverflow.com/questions/1069 ... n-gridview


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

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
дело в том что если вы растяните (по вашему скрину выше) вторую ячейку, первая будет другого размера, но третья уже будет строится не за первой а на уровне второй, то есть между третьей и первой будет просвет, так как адаптер строит линейно, слева на право и gridview позиционирует по строкам а не столбцам. Думаю что переопределение onMeasure ничего не даст, проще написать свой контрол похожий на gridview

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


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

Зарегистрирован: 27 дек 2012, 18:11
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
rezak90 писал(а):
дело в том что если вы растяните (по вашему скрину выше) вторую ячейку, первая будет другого размера, но третья уже будет строится не за первой а на уровне второй, то есть между третьей и первой будет просвет, так как адаптер строит линейно, слева на право и gridview позиционирует по строкам а не столбцам. Думаю что переопределение onMeasure ничего не даст, проще написать свой контрол похожий на gridview


да, именно так. вот в чем трабл.
наверное придется создавать свой кастомный грид вью.
Спасибо за ответы!)

ЗЫ: другими словами мне надо враппер, аналогов не нашел. разве что https://github.com/ApmeM/android-flowlayout , но это не то. т.к. мне надо через адаптер лениво передавать вьюхи.


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

Зарегистрирован: 27 дек 2012, 18:11
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
нашел реализацию https://github.com/maurycyw/StaggeredGridViewDemo

http://www.androidviews.net/ - всякие реализованные вкусняшки. даже от самих гугловцев :)


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

Зарегистрирован: 30 сен 2012, 15:33
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Делаю как написано в уроке:
Создаю файл rect.xml
Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
  3. <solid android:color="#99000099"></solid>
  4. </shape>
  5.  


А мне сразу выдает:
Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1. "<shape>" does not set the required layout_width attribute:
  2.  (1) Set to "wrap_content"
  3.  (2) Set to "match_parent"
  4. "<shape>" does not set the required layout_height attribute:
  5.  (1) Set to "wrap_content"
  6.  (2) Set to "match_parent"
  7. "<solid>" does not set the required layout_width attribute:
  8.  (1) Set to "wrap_content"
  9.  (2) Set to "match_parent"
  10. "<solid>" does not set the required layout_height attribute:
  11.  (1) Set to "wrap_content"
  12.  (2) Set to "match_parent"
  13. Exception raised during rendering: com.android.layoutlib.bridge.MockView cannot be cast to android.view.ViewGroup
  14. You must supply a layout_width attribute.
  15. You must supply a layout_height attribute.
  16. Exception details are logged in Window > Show View > Error Log
  17. The following classes could not be found:
  18. - shape (Fix Build Path, Edit XML)
  19. - solid (Fix Build Path, Edit XML)
  20.  


Дальше продолжать не могу. Так как ругается на это.
В чем может быть беда?
Спасибо!


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

Зарегистрирован: 28 фев 2013, 15:14
Сообщений: 31
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Добрый день.

Можно ли в GridView раскрасить строки или текст согласно определенного условия.
Например все строки белого цвета, а определенного зеленые и (или) красного.

Спасибо.


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

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

Можно ли в GridView раскрасить строки или текст согласно определенного условия.
Например все строки белого цвета, а определенного зеленые и (или) красного.

Спасибо.

пишется кастомный адаптер и там задаётся логика

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


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

Зарегистрирован: 16 апр 2013, 23:55
Сообщений: 28
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Добрый день!
У меня вопрос следующего характера (так как Вы упомянули в уроке шейпинг элементов): почему при задании радиуса угла:
Код: [ Загрузить ] [ Скрыть ]
Using XML Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:shape="rectangle" >
  4.  
  5.     <gradient
  6.        android:angle="45"
  7.        android:endColor="#80FF00FF"
  8.        android:startColor="#FFFF0000" />
  9.    
  10.     <corners
  11.        android:radius="1000dp" />
  12.    
  13.     <padding
  14.        android:bottom="7dp"
  15.        android:left="7dp"
  16.        android:right="7dp"
  17.        android:top="10dp" />
  18.  
  19.     <corners android:radius="8dp" />
  20.  
  21. </shape>
  22.  

чтоб я в этом атрибуте не прописывал, округлость прямоугольной фигуры достигает какого-то порогового значения и далее хоть 100dp, хоть 1000dp пиши - всё без изменений, хотя предполагал увидеть овалоподобный шейп (например на TextView)?


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

Зарегистрирован: 19 июн 2013, 17:27
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Подскажите пожалуйста, как в вашем примере, при клике по элементу GridView, выделить его?


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

Зарегистрирован: 16 апр 2013, 23:55
Сообщений: 28
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
BlindShot96 писал(а):
Подскажите пожалуйста, как в вашем примере, при клике по элементу GridView, выделить его?


Если немного переиграть пример решения поставленной задачи, данный в источнике Android gridview keep item selected, то, в принципе, я думаю это то, что Вам нужно.

Переигровка же в следующем (чтобы не дублить весь код из ссылки выше, даю изменяемые куски):
1.
Код: [ Загрузить ] [ Скрыть ]
Using Java(TM) 2 Platform Standard Edition 5.0 Syntax Highlighting
  1.         @Override
  2.         public void onCreate(Bundle savedInstanceState) {
  3.                 super.onCreate(savedInstanceState);
  4.                 setContentView(R.layout.main);
  5.                 ...
  6.                 gvMain.setOnItemClickListener(new OnItemClickListener() {
  7.  
  8.                         @Override
  9.                         public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {
  10.                
  11.                                 if (myObjects.get(position).getState() == 1) {
  12.                                             myObjects.get(position).setState(0);
  13.                                 }
  14.                                 else{
  15.                                             myObjects.get(position).setState(1);
  16.                                 }
  17.                                 myAdapter.notifyDataSetChanged();
  18.                         }
  19.                });
  20.  
  21.         }
  22.  


2.
Код: [ Загрузить ] [ Скрыть ]
Using Java(TM) 2 Platform Standard Edition 5.0 Syntax Highlighting
  1. private class MyCustomAdapter extends BaseAdapter  {
  2.         ...
  3.         @Override
  4.         public View getView(int position, View convertView, ViewGroup parent) {
  5.             ...
  6.             if (object.getState() == 1) {
  7.                 convertView.setBackgroundColor(Color.GREEN);
  8.             } else {
  9.                 convertView.setBackgroundColor(0x99000099 /*Color.BLUE*/);
  10.                 //convertView.setBackgroundDrawable(convertView.getResources().getDrawable(R.drawable.rect));
  11.             }
  12.             return convertView;
  13.         }
  14.         ...
  15.     }
  16.  


Хотя тут бы ещё убрать стандартный селектор элементов GridView для полной красоты (или хотя бы цвет выделенного элемента взять как этот стандартный).

Разумеется для всего лишь такой цели можно было бы обойтись и без кастомизации адаптера, лишь меняя бэкграунд кликнутого элемента в обработчике onItemClick(...)
Код: [ Загрузить ] [ Скрыть ]
Using Java(TM) 2 Platform Standard Edition 5.0 Syntax Highlighting
  1. ((GridView)parent).getAdapter().getView(position, view, parent).setBackgroundColor(<цветовая схема>);
  2.  

но тогда надо позаботиться о схроне состояний этих элементов, чтобы корректен был checked/unchecked эффект.


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

Зарегистрирован: 06 окт 2013, 19:03
Сообщений: 11
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте! А можно ли задать фиксированную ширину для первой ячейки одну, а для остальных другую?


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

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


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

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