2010-03-10 9 views
0

각 항목을 표시하기 위해 사용자 정의 .xml을 사용하는 listView가 있습니다.안드로이드 애니메이션 목록의 모든 항목

좋아요,이 XML에는 CheckBox (가시성이 GONE으로 설정 됨)와 텍스트가있는 TextView가 있습니다.

내가 원하는 것은 텍스트를 오른쪽으로 이동시키고 CheckBox를 보여주는 애니메이션입니다.

한 항목에 대해 애니메이션이 잘 작동하지만 모든 항목에 대해 애니메이션을 시작하려면 문제가 발생합니다.

모든 항목에 대해 루프를 시도했지만 애니메이션이 다른 시간에 시작합니다 (시각적으로 이상 함). 또한, 나는 AnimationSet 시도했지만 TextView 대신 전체 목록보기를 오른쪽으로 이동합니다 (그 항목 만 이동하기 때문에 하나의 항목에서 애니메이션 세트를 시작할 수 없습니다).

그래서 .. 누구든지 나를 도울 수 있습니까?

감사

답변

1

사용이 Animation 객체의 CheckBox 하나의 TextView 하나. 각 Animation을 구성하고 각 위젯에서 startAnimation()으로 전화하십시오. 애니메이션은 병렬로 실행됩니다.

+0

답장을 보내 주셔서 감사합니다.하지만 원하는 것은 전체 목록에서 애니메이션을 병렬로 실행하는 것입니다. 예를 들어, 버튼을 누르면 모든 행이 동시에 애니메이션을 실행합니다. – xger86x

+0

OK, 각 보이는 행의 각 CheckBox에 대해 하나씩, 두 개의 'Animation'객체를 사용하고, 각각의 'TextView'에 대해 하나씩 표시합니다 열. 나는 이것이 얼마나 잘 수행 될지 모르겠다. – CommonsWare

+0

나는 문제를 잘 설명하지 않았다고 생각한다. 문제는 내가 startAnimation()을 호출 할 때 모르는 부분입니다. 왜냐하면 요소 위로 이동하여 행의 애니메이션을 만드는 루프 내부에서 호출하면 각 행의 애니메이션이 동시에 실행되지 않기 때문입니다 . 그리고 AnimationSet을 설정하면 전체 목록이 아닌 한 행에서만 작동합니다. 다시 한 번 감사합니다. – xger86x

0

저는 Android 개발에 익숙하지 않지만 LayoutAnimationController에서 상속받은 맞춤 클래스를 작성하는 것이 좋습니다. 이 하위 클래스에서는 getDelayForView(android.view.View) 메서드를 재정의합니다. 이 방법을 사용하면 지연 시간을 아무 것도 설정하지 않고 지정된 애니메이션을 동시에 모든 항목에서 실행해야합니다.

나는이 안드로이드 파티에 처음 왔기 때문에 완전히 벗어날 수 있다고 말했지만, 나는 이해할 수있는 길로 생각합니다.