Skip to content

Commit

Permalink
Move animation to XML
Browse files Browse the repository at this point in the history
  • Loading branch information
chao-zhou committed Apr 20, 2012
1 parent 5012b35 commit 4c4e903
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 57 deletions.
10 changes: 10 additions & 0 deletions res/anim/in_left_right.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:fromXDelta="-100%"
android:toXDelta="0%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="@integer/slide_duration"/>
</set>
10 changes: 10 additions & 0 deletions res/anim/in_right_left.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:fromXDelta="100%"
android:toXDelta="0%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="@integer/slide_duration"/>
</set>
10 changes: 10 additions & 0 deletions res/anim/out_left_right.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:fromXDelta="0%"
android:toXDelta="100%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="@integer/slide_duration"/>
</set>
10 changes: 10 additions & 0 deletions res/anim/out_right_left.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
android:fromXDelta="0%"
android:toXDelta="-100%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="@integer/slide_duration"/>
</set>
4 changes: 4 additions & 0 deletions res/values/integer.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="slide_duration">350</integer>
</resources>
66 changes: 9 additions & 57 deletions src/com/utopia/lijiang/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.view.animation.AnimationUtils;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;

Expand Down Expand Up @@ -50,10 +48,10 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public void onTabChanged(String tabId) {
if(currentTabId > lastTabId){
MoveIntoFromLeft();
MoveRightToLeft();
}else
{
MoveIntoFromRight();
MoveLeftToRigt();
}
}

Expand Down Expand Up @@ -115,65 +113,19 @@ public void onClick(DialogInterface dialog, int id) {
.show();
}


/*
* Animation
*/
private void MoveIntoFromLeft(){
private void MoveLeftToRigt(){
View currentView = tabHost.getCurrentView();
lastView.setAnimation(outToLeftAnimation());
currentView.setAnimation(inFromRightAnimation());
lastView.setAnimation(AnimationUtils.loadAnimation(this, R.anim.out_left_right));
currentView.setAnimation(AnimationUtils.loadAnimation(this, R.anim.in_left_right));
}

private void MoveIntoFromRight(){
private void MoveRightToLeft(){
View currentView = tabHost.getCurrentView();
lastView.setAnimation(outToRightAnimation());
currentView.setAnimation(inFromLeftAnimation());
}

private Animation inFromLeftAnimation() {

Animation inFromRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromRight.setDuration(ANIMATIION_DURATION);
inFromRight.setInterpolator(new AccelerateInterpolator());
return inFromRight;
}

private Animation inFromRightAnimation() {

Animation inFromRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromRight.setDuration(ANIMATIION_DURATION);
inFromRight.setInterpolator(new AccelerateInterpolator());
return inFromRight;
}

private Animation outToLeftAnimation() {
Animation outtoLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoLeft.setDuration(ANIMATIION_DURATION);
outtoLeft.setInterpolator(new AccelerateInterpolator());
return outtoLeft;
lastView.setAnimation(AnimationUtils.loadAnimation(this, R.anim.out_right_left));
currentView.setAnimation(AnimationUtils.loadAnimation(this, R.anim.in_right_left));
}

private Animation outToRightAnimation() {
Animation outtoLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoLeft.setDuration(ANIMATIION_DURATION);
outtoLeft.setInterpolator(new AccelerateInterpolator());
return outtoLeft;
}
}

0 comments on commit 4c4e903

Please sign in to comment.