2014-12-10 1 views
6

를 사용할 때 나는 내가있는 LinearLayout의 배경으로 사용 해요 rippleDrawable이 발생하지. startActivity()를 실행하면 잔물결 효과가 잘 작동합니다. 대부분의 잔물결 효과가 발생하는 것을 볼 수 있으며 새 화면이 표시됩니다.파급 효과도 makeSceneTransitionAnimation

그러나 ActivityOptionsCompat.makeSceneTransitionAnimation을 사용하여 활동을 시작하면 레이아웃을 탭하면 리플 효과가 발생하지 않습니다. 참고로, 길게 누르면 여전히이 경우 리플이 표시됩니다.

나는 이것을 버튼에서도 시도해 보았고 동일한 결과를 보았습니다.

그래서 makeSceneTransitionAnimation이 너무 빨리 일어나거나 파급 효과를 무시하는 것과 같습니다. 리플이 끝나기를 원하거나 적어도 장면 전환 애니메이션이 발생하기 전에 리플을보아야합니다. 이것이 렌더링 스레드를 통해 경쟁하는 리플 및 전환과 관련이 있는지 확실하지 않습니다.

호출 된 작업에서 postponeEnterTransition을 호출 해 보았습니다. 그러나 이것은 효과가 없었습니다. 호출 된 액티비티가 즉시 표시되고 다시 시작하기 전까지 전환이 연기됩니다.

누구나 내가 잘못하고있는 것에 대한 아이디어가 있습니까?

API 21 (AppCompat 없음)을 사용하고 있습니다. 모든 도움을 미리 감사드립니다.

+1

어떻게 든이 문제를 해결할 수 있었습니까? –

+0

@ChristerNordvik 아니요, 아직 해결책을 찾지 못했습니다. – Scott

+0

AppCompat를 사용하여 동일한 문제가 발생했습니다. – sidecarcat

답변

4

귀하의 질문에 답변을하고 있지만 새로운 활동을 시작했을 때 파급 효과와 비슷한 문제가 발생하여 OnClickListener에서 지연되는 처리기를 사용하게되었습니다.

Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
     startActivity(intent); 
    } 
}, 150); 
+0

감사합니다. 나는이 시험을 150의 지연으로 시도했지만, 이것은 종종 비 부드러운 전환으로 이어지고, 당신은 분명히 150 번 이후의 멈춤을 분명히 볼 수 있습니다. 그러나 지연을 0으로 설정하면 전환이 부드러워지고 종종 리플의 일부 또는 전부를 볼 수 있습니다. 핸들러가 없으면 전환이 원활하지만 리플을 거의 볼 수 없습니다. – Scott

+0

동일한 문제가 있습니다. – jiawen

+0

200으로 설정하면 문제가 없습니다. 감사! – stef

관련 문제