有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java覆盖无处不在?

简介: 我制作了一个淡出/淡出,它淡出所有视图的不透明度。我想在切换活动之间设置动画。现在,我必须将淡出/淡出添加到每个活动中的每个桌面/恢复中

问题:是否可以创建自定义重写的桌面函数并在每个活动中使用它


共 (4) 个答案

  1. # 1 楼答案

    是的,您完全可以重写onStop()函数。使用onStop重写器创建活动StopperActivity

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

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

  2. # 2 楼答案

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

    根据您的描述,您似乎希望定义活动之间的自定义过渡动画。为什么不定义一种风格呢?您只需在自定义样式中定义windowExitAnimationwindoEnterAnimation,然后重写windowAnimationStyle

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

  3. # 3 楼答案

    创建这样的基本活动

    public abstract class BaseActivity extends Activity {
    
    ..................
    ..................
        @Override
        public void onStop() {
            super.onStop();
            // Do your stuff
        }
    ....................
    ...................
    }
    

    现在在每个活动中扩展基本活动,如

    public class Activity1 extends BaseActivity
    
  4. # 4 楼答案

    创建强类活动

    比如说

    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编写一次代码