2013-06-27 8 views
0

활동이 생성 된 직후에 애니메이션을 시작하고 싶습니다. 문제는 처음에 보여준 후에 1 초가 지나면 화면에 모든 것이 표시되면 메소드를 호출해야한다는 것입니다. 즉Android에서 활동을 표시 한 직후에 작업 수행

, 내가하는 방법을 찾고 있어요는에서 onCreate (후 바로 실행되는)하지만, 활동 후 표시됩니다 :

Activity lifecicle

감사합니다!

+1

예쁜 그림입니다! 'Views'를 설정 한 후에'onCreate()'또는'onResume()'의 끝에 그것을 시작하는 것이 잘못된 이유는 무엇입니까? 두 메서드 중 하나를 끝내면 자신의 메서드에 넣고 그 메서드로 애니메이션을 만들 수 있습니다. – codeMagic

+0

이전에 그려야 할 GUI가 필요하기 때문에 그런 식으로 작동하지 않습니다! – emiliosg

답변

1

GUI가 onCreate()로 그려져 있다고 가정 할 수 없습니다. 실제로 그것은 종종 그렇지 않습니다.

@Override 
public void onWindowFocusChanged (boolean hasFocus) { ... } 

여기에 타이머에 일을 넣어 :

모든 것이 마지막으로 화면에 렌더링 할 때 잡을 수있는 가장 좋은 방법은 함께.

+0

잘 작동합니다! 이 메소드는 액티비티가 생성 될 때 실행될뿐만 아니라 애니메이션을 한 번 시작하는 부울을 설정했습니다. – emiliosg

1

layoutonCreate()에 설정한다고 가정하면 애니메이션 개체에 setStartTime(long millis)을 사용할 수있는 것처럼 보입니다.

public void onCreate(...) 
{ 
    super.onCreate(...); 
    setContentView(R.layout.your_layout); 
    // do whatever else you need to 
    // create your animation 
    animation.setStartTime(1000); // should start it in one second 
} 
1

onPostResume()에서 애니메이션을 시작할 수 있습니다.이 애니메이션은 onResume()이 완료된 후에 호출 할 수 있습니다.

관련 문제