2010-07-16 6 views
0

음악 플레이어를 개발 중이며 모든 아티스트보기, 앨범보기 등을 제어하는보기 플리퍼가 있습니다. 지금 내가하고있는 일은 뷰 플리퍼의 각 뷰에서 목록 뷰가 있다는 것입니다. 그러나 모든 코드를 하나의 활동 안에 넣고 싶지 않고 각보기마다 다른 활동을 갖기를 원합니다. 가능한 구현할 수 있습니까?ViewFlipper의 서로 다른보기에 대해 서로 다른 활동 사용

답변

1

그러나, 나는 각 보기위한 다양한 활동을 하나 개의 활동이 아니라, 안에 내 모든 코드를 넣어 싶지 않아요.

제발하지 마세요. 뿐만 아니라 불가능할뿐만 아니라 다른 곳 (TabHost)은 RAM과 CPU를 낭비합니다.

2

당신의 목표는 ViewFlipper에서 제공하는 동일한 사용자 경험을 제공하는 단지의 경우에는 원인이 된 어떤 이벤트 5.

당신이 overridePendingTransition를 호출 할 것 API 레벨부터 사용할 수있다 overridePendingTransition(int enterAnim, int exitAnim)를 사용하여 더 나을 것 변화시킬 활동. 예를 들어 Android SDK samples에서 찾을 수 있습니다. 그러나 아래에서 질문에 대한 답변을 자세히 알려 드리겠습니다.

먼저 애니메이션을 정의해야합니다. res 아래에 anim 폴더를 만듭니다. 그런 다음 에, 으로 두 개의 변환을 정의하십시오.

그리고 다른 활동이 overridePendingTransition에 호출이 애니메이션을 사용하는 것을 시작하는 경우에

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromXDelta="0%" 
     android:toXDelta="-100%" 
     android:duration="600"/> 
</set> 

OUT_LEFT in_right

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromXDelta="100%" 
     android:toXDelta="0%" 
     android:duration="600"/> 
</set> 

.

// this code snippet does not show wiring event to button 
void buttonClicked() { 
    startActivity(new Intent(this, HistoryListActivity_.class)); 
    overridePendingTransition(R.anim.in_right, R.anim.out_left); 
} 
관련 문제