到处覆盖onStop?

时间:2013-04-20 09:03:49

标签: java android

说明: 我做了一个fadeout / fadein,淡化了所有视图的不透明度。我想在切换活动之间设置动画。我现在必须在每个活动中为每个onStop / onResume添加fadein / fadeout。

问题:是否可以创建自定义覆盖的onStop函数并在每个活动中使用它?

4 个答案:

答案 0 :(得分:4)

像这样创建一个基本活动

public abstract class BaseActivity extends Activity {

..................
..................
    @Override
    public void onStop() {
        super.onStop();
        // Do your stuff
    }
....................
...................
}

现在每项活动都会扩展基本活动,如

public class Activity1 extends BaseActivity

答案 1 :(得分:0)

是的,你绝对可以覆盖onStop()函数。使用onStop覆盖器制作活动StopperActivity

@Override
public void onStop() {
    super.onStop();

}

在其他活动中,只需扩展此自定义活动而不是活动

答案 2 :(得分:0)

创建课程 BaseActivity

例如

class BaseActivity extends Activity
{
   void onResume()
   {
      super.onResume();
       // your code here (Need to write only once for entire app)
   }
   void onStop()
   {
        super.onStop();
       // your code here of onStop (Need to write only once for entire app)
   }
}

现在将 BaseActivity 用于您班级中的所有活动。

class MainActivity extends BaseActivity
{
   ...
}
class AnotherActivity extends BaseActivity
{
   ...
}

通过这种方式,您只需要为BaseActivity中的fadeIn和fadeOut编写一次代码。

答案 3 :(得分:0)

这是一个建议,而不是你的问题的答案。

根据您的描述,您似乎想要在活动之间定义自定义过渡动画。为什么不定义一个风格?您需要做的就是在自定义样式中定义windowExitAnimationwindoEnterAnimation,然后覆盖windowAnimationStyle

查看开发者指南,了解如何定义自己的样式Styles and Themes