Правильное отображение Итемов (ListView)

Интерфейс, диалоги, темы, стили, меню
Ответить
Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Правильное отображение Итемов (ListView)

Сообщение Sk_games » 14 янв 2015, 17:38

Всем хорошего настроения. Имплантирую списки в одно место, где их отображение не очень устраивает. Раньше такого вопроса не было, так как списки были в самых обычных местах. Можно заметить, что при прокрутки часть нового Итема обрезается, что мне не подходит. Итем должен быть виден только в полном состоянии. Картинку прикрепляю.

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 14 янв 2015, 17:39

Картинка
Вложения
1231.png
1231.png (41.2 КБ) 8177 просмотров

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Правильное отображение Итемов (ListView)

Сообщение KamiSempai » 14 янв 2015, 18:19

А если итем виден не полностью, что с ним делать? Скрывать?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 14 янв 2015, 18:31

Не отображать вовсе.. Скорее всего, и скрывать тоже подойдет... Правда как? Вопрос еще открыт)

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Правильное отображение Итемов (ListView)

Сообщение KamiSempai » 14 янв 2015, 18:56

Есть способ но он тернист и дремуч. Вам действительно это нужно? Подобные казусы отображения обычно решают всевозможными украшательствами которые сглаживают их. Например можно добавить рамку для списка.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
alexmx
Сообщения: 193
Зарегистрирован: 10 мар 2014, 08:14

Re: Правильное отображение Итемов (ListView)

Сообщение alexmx » 14 янв 2015, 19:43

Если не ошибаюсь у класса View есть метод getTop (), который вроде как возвращает количество пикселей от верхнего края экрана. Может через него как то можно попробовать

Аватара пользователя
alexmx
Сообщения: 193
Зарегистрирован: 10 мар 2014, 08:14

Re: Правильное отображение Итемов (ListView)

Сообщение alexmx » 14 янв 2015, 19:47

KamiSempai писал(а):Есть способ но он тернист и дремуч. Вам действительно это нужно? Подобные казусы отображения обычно решают всевозможными украшательствами которые сглаживают их. Например можно добавить рамку для списка.
Но рамка или черта гораздо проще :!: :D

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 14 янв 2015, 19:51

Вот, блин, я думал это будет куда проще, рамка для листа отпадает, так как мне такие не нравятся... Я думал просто с таким вопросом уже не раз все сталкивались...

Аватара пользователя
alexmx
Сообщения: 193
Зарегистрирован: 10 мар 2014, 08:14

Re: Правильное отображение Итемов (ListView)

Сообщение alexmx » 14 янв 2015, 19:56

Ну тут вам выбирать либо танец с бубном в дебрях исходников, либо редизайн

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 14 янв 2015, 20:30

Так, попытка не пытка, нужно пробовать. Может если я буду знать количество пикселей, до полного отображения, и запускать анимацию, для отображение... Другое дело, где мне считывать это количество пикселей верхнего последнего элемента, и так же само нижнего...

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 14 янв 2015, 21:12

И можно все таки несколько примеров, или ссылку на ресурс, каких нибудь украшательств, к спискам. Может можно будет что то имплантировать...

Аватара пользователя
alexmx
Сообщения: 193
Зарегистрирован: 10 мар 2014, 08:14

Re: Правильное отображение Итемов (ListView)

Сообщение alexmx » 14 янв 2015, 21:18

Может гугл что знает)))

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Правильное отображение Итемов (ListView)

Сообщение Foenix » 14 янв 2015, 22:58

в результате прокрутка списка у тебя станет не плавная, а типа как барабан спортлото чирикать. Это не совсем в стиле андроида. Лучше поначалу в такие штуки не лезть.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 15 янв 2015, 10:56

Foenix
Это не должно быть, как барабан. Я выставил подходящую мне анимацию, только вот прикрутил ее к адаптеру. Может если изменить ее. Примером можно ли прикрутить анимацию к считыванию движения в ЛистВью? Примером медленно свайпаешь вниз и корректно появляется новый элемент, анимацией..
Кто то делал вот так?

razmus
Сообщения: 82
Зарегистрирован: 26 мар 2013, 10:47

Re: Правильное отображение Итемов (ListView)

Сообщение razmus » 15 янв 2015, 16:38

Можно попробовать переопределить скрол, и при скролировании будет открываться как бы вторая страница сразу, не знаю подойдет ли такое поведение для вашей задачи.

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 15 янв 2015, 18:45

Может быть, я сейчас хотел бы хоть какое то решение. Так как до конца не могу понять вашу реализацию) И врядли без примера пойму) Просто думал у кого то уже были схожие задачи, и есть решения....

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Правильное отображение Итемов (ListView)

Сообщение KamiSempai » 15 янв 2015, 18:52

Как то так:
[syntax=java]listView.setOnScrollListener(new AbsListView.OnScrollListener() {

@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// Этот метод не нужен, он останется пустым.
}

@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// Первый видимый элемент
View child = view.getChildAt(0);
if (child != null) {
child.setVisibility(child.getTop() < 0 ? View.INVISIBLE: View.VISIBLE);
}

// Делаем видимыми все элементы посередине. Если этого не сделать будут глюки с видимостью.
for (int i = 1; i < view.getChildCount() - 1; i++) {
child = view.getChildAt(i);
if (child != null)
child.setVisibility(View.VISIBLE);
}

// Последний видимый элемент
child = view.getChildAt(view.getChildCount() - 1);
if (child != null) {
child.setVisibility(child.getTop() + child.getMeasuredHeight() > view.getMeasuredHeight() ? View.INVISIBLE: View.VISIBLE);
}
}
});[/syntax]
Я сделал строки невидимыми если они выходят за границы списка. Честно говоря, мне не понравилось. Может быть, если сделать плавную анимацию появления, будет симпатичнее.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 15 янв 2015, 22:15

Сейчас буду пробовать, но в любом случае спасибо... Может пока еще кто то видит. Такой же вопрос по дизайну, ничего полезного не нахожу, у кого будет время: https://www.youtube.com/watch?v=Q8TXgCzxEnw (23-25 секунды). Анимация ЭкшенБара...

Аватара пользователя
Sk_games
Сообщения: 77
Зарегистрирован: 20 янв 2014, 21:13

Re: Правильное отображение Итемов (ListView)

Сообщение Sk_games » 15 янв 2015, 22:23

Вот блин, смотрю код, ну элементарно, нет ничего нового в методах. Либо я не могу абстрагироваться в своих задачах, что прошу помощи) Либо опыт берет все таки верх....

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Правильное отображение Итемов (ListView)

Сообщение KamiSempai » 16 янв 2015, 12:25

Опыт имеет большое значение. Как ни как ListView вдоль и поперек изучил.
Змаечу, что данный вариант будет стабильно работать только в стандартном ListView.
Если это будет не стандартный список, могут возникнуть проблемы, так как за последовательность дочерних элементов, и их предназначение я ручаться не могу.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить