亲宝软件园·资讯

展开

Android Activity跳转

拾一27221 人气:0

当一个Acitivity需要启动另一个Activity时,通过Intent来表达自己的意图,告知系统启动哪个Activity。

private ImageButton i2;

      i2=findViewById(R.id.i2);
        i2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(UserActivity.this,User_information.class);
                startActivity(intent);
            }
        });

此时点击按钮控件ImageButton i2,从UserActivity对应的界面跳转到User_information。

----------------------------------------

界面A跳转界面B时加一个从右向左滑动的动画显得更加丝滑,可以再在drawable文件夹中新建两个xml文件

out_to_left.xml

<?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%p" android:toXDelta="-100%p"
        android:duration="500" />
</set>

in_from_right.xml

<?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%p" android:toXDelta="0%p"
        android:duration="500" />
</set>

再在上边的 startActivity(intent); 的下一行加上overridePendingTransition(R.drawable.in_from_right, R.drawable.out_to_left); 可实现滑动切换动画。

//......
startActivity(intent);
overridePendingTransition(R.drawable.in_from_right, R.drawable.out_to_left);
//......

------------------------------------

另外在Fragment中如果也需要实现跳转到另一个Intent的功能,假设该Fragment为Afragment,目标Activity为Bactivity

Intent intent=new Intent(Afragment.this,Bactivity.class);

该行会报错,应当改为:

Intent intent=new Intent(getActivity(),Bactivity.class); 

在fragment中通过getActivity()获取当前所在的activity后才能实行跳转.

加载全部内容

相关教程
猜你喜欢
用户评论