Android实现定制返回按钮动画效果的方法

时间:2021-12-29 09:11:11

今天我们来讲一讲andorid中如何定制返回按钮的动画效果。我将结合实际应用来阐述如何使用。

首先来看一个效果截图,有一个搜索按钮在一个页面的顶部:

Android实现定制返回按钮动画效果的方法

我之前实现的方式是和百度/google首页搜索的效果一样的,类似web开发中的ajax请求,结果直接在当前页面显示出来(下拉效果)。后来参考了众多app之后发现都是进入到一个新的页面,所以我也就改过来试试。。废话说多了。。

那我们点击了搜索框之后呢,会进入到一个新的activity,这里的动画效果很简单,直接使用overridependingtransition方法即可产生效果。。

?
1
2
3
4
5
6
7
8
@override
public void onclick(view v) {
    intent intent = new intent(activity,
        merchantssearchactivity.class);
    startactivity(intent);
    overridependingtransition(r.anim.in_from_right,
        r.anim.out_to_left);
}

进入到真正的搜索界面:

Android实现定制返回按钮动画效果的方法

这里我们有个返回按钮,怎么样点击返回按钮,让页面返回到上个页面并且动画效果是往右滑动呢?

首先想到的是重写

?
1
2
3
4
5
6
@override
public void onbackpressed() {
 overridependingtransition(r.anim.in_from_left,
        r.anim.out_to_right);
    super.onbackpressed();
}

这样试下,是不行的。

然后通过activity生命周期的方向考虑,可行的方法是在onpause方法中加入动画效果代码:

?
1
2
3
4
5
protected void onpause() {
    super.onpause();
    overridependingtransition(r.anim.in_from_left,
        r.anim.out_to_right);
}

运行,点击back。完美运行。

希望本文所述对大家android程序设计有所帮助。