2011-04-07 5 views
3

Android 애플리케이션에 ListView가 있습니다. 목록의 개별보기는 화면 크기보다 약간 작습니다.Android ListView 애니메이션 애니매이션 도움이 필요합니다.

위와 아래에 표시되는 이전 항목과 다음 항목의 작은 조각이 화면에 항상 표시되도록 목록에 표시하고 싶습니다.

사용자가 스크롤 할 때 위치 0 또는 1 (스크롤하는 방식에 따라 다름)에서 하위보기의 위치를 ​​다시 잡아야합니다. 현재 내 onScrollStateChanged 메서드에서 "setSelectionFromTop"을 호출하여이 작업을 수행하고 있습니다. 이것은 효과가 있지만 전환이 즉각적이며 원활하지 않습니다. 많은 경우에 삐걱 거리며 혼란 스럽습니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 목록을 원하는 위치로 스크롤하는 과정을 애니메이션으로 만들고 싶지만 목록 전체의 스크롤 위치를 직접 제어 할 수있는 ListView 또는 해당 수퍼 클래스에서 메서드를 찾을 수 없습니다.

나는 progressive 값이 y 인 setSelectionFromTop (int position, int y)을 여러 번 호출하여 애니메이션을 만들 수 있다고 생각하지만 y의 초기 값을 결정하는 방법을 모르겠습니다. 지정된 위치에서 뷰 객체를 조사하여이를 얻을 수있는 방법이 있습니까?

내 앞에있는 또 다른 도전 과제는 목록에서 항목을 제거하는 방법을 애니메이션으로 적용하는 것입니다. 즉, 사라지거나 왼쪽으로 밀면 주변의 뷰가 위아래로 이동하게됩니다. 공간을 채우십시오. ListView를 사용하여이 작업을 수행하는 간단하고 안정적인 방법이 있습니까? 난 그냥 ListView에 포기하고 모든 것을 처음부터 사용자 정의보기로 작성해야합니까?

감사합니다.

답변

0

확실히 가능해야합니다. smoothScrollToPosition()이 효과가 있습니까?

그렇지 않으면 TouchUtils을 사용하여 터치 시뮬레이션을 시도 할 수 있습니다.

관련 문제