2012-01-25 2 views
1

TextView의 ellipsize 값을 "marquee"으로 설정하고 marqueeRepeatLimit 값을 "1"으로 설정하면 (예 : 긴 텍스트를 한 번 TextView로 굴리기 위해), 선택 윤곽 애니메이션이 완료되면 감지 할 수있는 방법이 있습니까?TextView의 선택 윤곽 애니메이션이 완료되면 감지 할 수 있습니까?

(나는 동적으로 추가되는 문자열 큐가 있는데, 한 번에이 문자열 중 하나를 표시하고 싶습니다. 문자열이 TextView 너비보다 길 수 있기 때문에 나는 다음 하나를 표시하기 전에 가로 질러 롤)

편집 :. 그것은 텍스트 뷰의 천막 속성을 사용하여이 작업을 수행 할 수없는 경우, 아무도 내가 윤곽을 시뮬레이트하는 텍스트 뷰에 애니메이션을 추가 할 수있는 방법을 알고 생기?

답변

0

내가 알 수있는 한, 선택 윤곽 애니메이션이 완료되면이를 감지 할 수 없으며 TextView에서 번역 애니메이션을 사용하여 선택 윤곽 애니메이션을 복제한다고해도 애니메이션 기간을 설정하는 것은 쉽지 않습니다 TextView의 텍스트에 따라 올바른 길이의 시간. 그래서! 내가 대신 지금하고 있어요 다음과 같이 ...

<TextSwitcher 
    android:id="@+id/myTextSwitcher" 
    ... 
    android:inAnimation="@anim/fade_in_slow" 
    android:outAnimation="@anim/fade_out_slow" > 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:focusable="true" 
    android:focusableInTouchMode="true" /> 
<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:focusable="true" 
    android:focusableInTouchMode="true" /> 

을 TextSwitcher를 사용하여 ... 그리고 타이머를 사용하여 모든 너무 자주 myTextSwitcher.setText("text to show next") 메소드를 호출한다. 이상적이지는 않지만 내가 얻을 수있는 최고!

1

대신 텍스트의 간단한 애니메이션을 시도하면 텍스트가 어떤 스타일과 속도로 이동해야하는지 정의 할 수 있습니다.
"setFillAfter()"메서드를 사용하여 애니메이션이 완료된 후 결과가 표시되도록 설정할 수 있습니다 (사례의 기본 텍스트 표시).

+0

텍스트 뷰 내에서 텍스트를 롤아웃하는 텍스트 뷰에 애니메이션을 추가 할 수 있습니까 (예 : 선택 윤곽 애니메이션). 전체 TextView 자체는 이동하지 않습니까? 이것이 달성 될 수있는 방법에 대한 링크 또는 예제 또는 추가 정보? –

+0

확실히 원하는대로 애니메이션을 적용 할 수 있습니다. Android의 API 데모에 대해 알고 계십니까? 거기에 다른 스타일로 텍스트 (infact 아무것도) 애니메이션을 코드를 찾을 수 있습니다. – akkilis

+0

API 데모는 큰 리소스입니다. 지금 보았지만 TextView에서 텍스트 애니메이트 예제를 찾을 수 없습니다. 내가 어디에서 모범이 될 수 있는지 아십니까? –

관련 문제