您的位置:首页 > 移动开发 > Android开发

Android中overridePendingTransition的应用(部分代码)

2016-08-25 09:59 387 查看

先弄一个页面基类:

public abstract class BaseSetUpActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ininView();
initData();
initEvent();
}

public void initEvent() {
// TODO Auto-generated method stub

}

public void initData() {
// TODO Auto-generated method stub

}

// 继承次类的类的view文件中都要有命名为next的onclick;如:android:onClick="next"
public void next(View v) {
// 1,完成界面的切换
nextActivity();
// 开始动画
nextAnimation();
}

// 继承次类的类的view文件中都要有命名为pre的onclick;如:android:onClick="pre"
public void pre(View v) {
// 1,完成界面的切换
preActivity();
// 开始动画
preAnimation();
}

private void nextAnimation() {
overridePendingTransition(R.anim.next_in, R.anim.next_out);
}

private void preAnimation() {
overridePendingTransition(R.anim.pre_in, R.anim.pre_out);
}

public abstract void ininView();

// 传入下一个activity
public abstract void nextActivity();

// 传入上一个activity
public abstract void preActivity();

public void startActivity(Class type) {
Intent i = new Intent(this, type);
startActivity(i);
finish();
}

}



继承以上类实现Activity和Activity间的转换动画[只贴了一个类,其它类似模仿。]:

public class SetUp1Activity extends BaseSetUpActivity {

@Override
public void ininView() {
setContentView(R.layout.activity_set_up1);

}

@Override
public void nextActivity() {
this.startActivity(SetUp2Activity.class);
}

@Override
public void preActivity() {
// TODO Auto-generated method stub

}

}


基本类中的xml文件代码如下:

next_in.xml
<?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:fromYDelta="0"
android:toYDelta="0"
android:duration="500"/>

</set>
next_out.xml
<?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:fromYDelta="0"
android:toYDelta="0"
android:duration="500"/>

</set>
pre_in.xml
<?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:fromYDelta="0"
android:toYDelta="0"
android:duration="500"/>

</set>
pre_out.xml
<?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:fromYDelta="0"
android:toYDelta="0"
android:duration="500"/>

</set>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息