Android Activity之间跳转:Intent

当一个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后才能实行跳转.

 

posted @ 2022-10-21 10:08  拾一贰叁  阅读(132)  评论(0编辑  收藏  举报