闪屏效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闪屏效果相关的知识,希望对你有一定的参考价值。

1.Activity文件

   
    public class SlapshActivity extends Activity {
    RelativeLayout Rlroot;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_slapsh);
        
        Rlroot=(RelativeLayout) findViewById(R.id.rl_root);
        startAnim();
    }
//开启动画
    private void startAnim() {
        AnimationSet set=new AnimationSet(false);//允许进行多个动画设置
        
        //旋转动画
        RotateAnimation rotate=new RotateAnimation(0, 360,
                Animation.RELATIVE_TO_SELF,
                0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        rotate.setDuration(1500);//动画时间
        rotate.setFillAfter(true);//保持动画状态
        
        //缩放动画
        ScaleAnimation scale=new ScaleAnimation(0, 1, 0, 1,
                Animation.RELATIVE_TO_SELF, 0.5f,
                Animation.RELATIVE_TO_SELF, 0.5f);        
        scale.setDuration(1500);//动画时间
        scale.setFillAfter(true);//保持动画状态
        
        //渐变动画
        AlphaAnimation alpha=new AlphaAnimation(0, 1);
        alpha.setDuration(1500);//动画时间
        alpha.setFillAfter(true);//保持动画状态
        
        set.addAnimation(rotate);
        set.addAnimation(scale);
        set.addAnimation(alpha);
        
        //设置动画监听,
        set.setAnimationListener(new AnimationListener() {
            
            @Override
            public void onAnimationStart(Animation animation) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onAnimationRepeat(Animation animation) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onAnimationEnd(Animation animation) {
                Nextpager();//判断闪屏结束后跳转的页面
            }
        });
        Rlroot.startAnimation(set);
    }
    
    //判断闪屏结束后跳转的页面
 public void Nextpager(){
     boolean userguide=SharePrefersUtils.getboolean(SlapshActivity.this, "guide_showed", false);
    
     if(!userguide){
         startActivity(new Intent(SlapshActivity.this,GuideActivity.class));//如果引导页没有执行过则动画结束,开始GuideActivity
      }
     else {
         startActivity(new Intent(SlapshActivity.this,MainActivity.class));//引导页执行过则动画结束,开始MianActivity
     }
     finish();
 }

 

2.布局文件

<RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rl_root"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:background="@drawable/splash_bg_newyear"
   >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/splash_horse_newyear" />

</RelativeLayout>

以上是关于闪屏效果的主要内容,如果未能解决你的问题,请参考以下文章

app闪屏页如何实现?告别白屏!看这一篇就够了!

flutter闪屏过渡动画,闪光占位动画

闪屏的3中延迟跳转方式

Java解决游戏界面闪屏

这交互炸了:闪屏页是像云一样消失的

闪屏(Splash)