Правильное отображение Итемов (ListView)
Правильное отображение Итемов (ListView)
Всем хорошего настроения. Имплантирую списки в одно место, где их отображение не очень устраивает. Раньше такого вопроса не было, так как списки были в самых обычных местах. Можно заметить, что при прокрутки часть нового Итема обрезается, что мне не подходит. Итем должен быть виден только в полном состоянии. Картинку прикрепляю.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Правильное отображение Итемов (ListView)
А если итем виден не полностью, что с ним делать? Скрывать?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Правильное отображение Итемов (ListView)
Не отображать вовсе.. Скорее всего, и скрывать тоже подойдет... Правда как? Вопрос еще открыт)
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Правильное отображение Итемов (ListView)
Есть способ но он тернист и дремуч. Вам действительно это нужно? Подобные казусы отображения обычно решают всевозможными украшательствами которые сглаживают их. Например можно добавить рамку для списка.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Правильное отображение Итемов (ListView)
Если не ошибаюсь у класса View есть метод getTop (), который вроде как возвращает количество пикселей от верхнего края экрана. Может через него как то можно попробовать
Re: Правильное отображение Итемов (ListView)
Но рамка или черта гораздо прощеKamiSempai писал(а):Есть способ но он тернист и дремуч. Вам действительно это нужно? Подобные казусы отображения обычно решают всевозможными украшательствами которые сглаживают их. Например можно добавить рамку для списка.
Re: Правильное отображение Итемов (ListView)
Вот, блин, я думал это будет куда проще, рамка для листа отпадает, так как мне такие не нравятся... Я думал просто с таким вопросом уже не раз все сталкивались...
Re: Правильное отображение Итемов (ListView)
Ну тут вам выбирать либо танец с бубном в дебрях исходников, либо редизайн
Re: Правильное отображение Итемов (ListView)
Так, попытка не пытка, нужно пробовать. Может если я буду знать количество пикселей, до полного отображения, и запускать анимацию, для отображение... Другое дело, где мне считывать это количество пикселей верхнего последнего элемента, и так же само нижнего...
Re: Правильное отображение Итемов (ListView)
И можно все таки несколько примеров, или ссылку на ресурс, каких нибудь украшательств, к спискам. Может можно будет что то имплантировать...
Re: Правильное отображение Итемов (ListView)
Может гугл что знает)))
Re: Правильное отображение Итемов (ListView)
в результате прокрутка списка у тебя станет не плавная, а типа как барабан спортлото чирикать. Это не совсем в стиле андроида. Лучше поначалу в такие штуки не лезть.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Правильное отображение Итемов (ListView)
Foenix
Это не должно быть, как барабан. Я выставил подходящую мне анимацию, только вот прикрутил ее к адаптеру. Может если изменить ее. Примером можно ли прикрутить анимацию к считыванию движения в ЛистВью? Примером медленно свайпаешь вниз и корректно появляется новый элемент, анимацией..
Кто то делал вот так?
Это не должно быть, как барабан. Я выставил подходящую мне анимацию, только вот прикрутил ее к адаптеру. Может если изменить ее. Примером можно ли прикрутить анимацию к считыванию движения в ЛистВью? Примером медленно свайпаешь вниз и корректно появляется новый элемент, анимацией..
Кто то делал вот так?
Re: Правильное отображение Итемов (ListView)
Можно попробовать переопределить скрол, и при скролировании будет открываться как бы вторая страница сразу, не знаю подойдет ли такое поведение для вашей задачи.
Re: Правильное отображение Итемов (ListView)
Может быть, я сейчас хотел бы хоть какое то решение. Так как до конца не могу понять вашу реализацию) И врядли без примера пойму) Просто думал у кого то уже были схожие задачи, и есть решения....
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Правильное отображение Итемов (ListView)
Как то так:
[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]
Я сделал строки невидимыми если они выходят за границы списка. Честно говоря, мне не понравилось. Может быть, если сделать плавную анимацию появления, будет симпатичнее.
[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.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Правильное отображение Итемов (ListView)
Сейчас буду пробовать, но в любом случае спасибо... Может пока еще кто то видит. Такой же вопрос по дизайну, ничего полезного не нахожу, у кого будет время: https://www.youtube.com/watch?v=Q8TXgCzxEnw (23-25 секунды). Анимация ЭкшенБара...
Re: Правильное отображение Итемов (ListView)
Вот блин, смотрю код, ну элементарно, нет ничего нового в методах. Либо я не могу абстрагироваться в своих задачах, что прошу помощи) Либо опыт берет все таки верх....
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Правильное отображение Итемов (ListView)
Опыт имеет большое значение. Как ни как ListView вдоль и поперек изучил.
Змаечу, что данный вариант будет стабильно работать только в стандартном ListView.
Если это будет не стандартный список, могут возникнуть проблемы, так как за последовательность дочерних элементов, и их предназначение я ручаться не могу.
Змаечу, что данный вариант будет стабильно работать только в стандартном ListView.
Если это будет не стандартный список, могут возникнуть проблемы, так как за последовательность дочерних элементов, и их предназначение я ручаться не могу.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.