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

Activity切换淡入淡出效果

2016-08-31 22:02 225 查看
 在资源文件夹res下新建anim文件夹,在其中创建补间动画XML文件,

淡入效果,ap1.xml文件代码如下:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- fromAlpha:开始时透明度;toAlpha:结束时透明度;duration:动画持续时间 -->

    <alpha

        android:duration="500"

        android:fromAlpha="1.0"

        android:toAlpha="0.0" />

</set>

淡出效果,ap2.xml文件代码如下:

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <alpha

        android:duration="500"

        android:fromAlpha="0.0"

        android:toAlpha="1.0" />

</set>

然后,进行测试,我们先创建两个Activity类

主界面代码如下:

public class main extends Activity {

Button bt;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

bt = (Button) findViewById(R.id.bt);

//界面切换按钮监听事件

bt.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Intent intent = new Intent(main.this, activity2.class);

startActivity(intent);

overridePendingTransition(R.anim.ap2, R.anim.ap1);// 淡出淡入动画效果

}

});

}



 次界面代码如下:

public class activity2 extends Activity {

Button bt2;

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity2);

            bt2=(Button)findViewById(R.id.bt2);

        

            bt2.setOnClickListener(new OnClickListener(){

public void onClick(View v) {

Intent intent=new Intent(activity2.this,main.class);

startActivity(intent);

overridePendingTransition(R.anim.ap2,R.anim.ap1);

}

        });

    }


两个activity的布局就是添加了一个Button控件,实现点击切换activity

    上边的代码可以实现两个activity的淡入淡出切换,但是如果一直点击两个按钮,进行切换,那么就会新建很多的activity,当你按下手机的Back建进行返回时就需要点好多次。很明显,这样不符合设计的初衷,于是进行调整代码:

1.在此界面的按钮点击事件下最后加入finish();方法,来关闭此activity。

2.在AndroidMainfest.xml中,在主activity中,加入android:launchMode="singleTask"。《此语句详情可以去看本人的另一篇文章“activity的详细启动”》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android activity切换