暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Android设置软件启动动画

攻城狮VLOG 2021-03-03
1611
安卓中的开机动画分为好几种,比如单纯的图片,带音乐的图片,开机视频。下边就是这三种常见的开机动画的实现方式。
首先,要想实现开机动画去除activity上边的标题框是很有必要的。另外软件的开机肯定是全屏显示,去除小框框和设置全屏的的方式也很简单只需要两行代码就可以搞定。
     //去除activity上边的框框
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    //设置全屏显示
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

    1、开机图片

    开机图片是所有开机动画中最简单的一种,也是最省力的一种

    # Activity中的代码

      import android.app.Activity;
      import android.content.Intent;
      import android.os.Bundle;
      import android.os.Handler;
      import android.view.Window;
      import android.view.WindowManager;


      public class MainActivity extends Activity {


      @Override
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      //去除activity上边的框框
      requestWindowFeature(Window.FEATURE_NO_TITLE);
      //设置全屏显示
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
      WindowManager.LayoutParams.FLAG_FULLSCREEN);
      setContentView(R.layout.activity_main);
      //设置三秒后跳转
              //用到了Handler类下的postDelayed()方法,方法有两个参数,第一个是一个线程对象,第二个是该页面停留的时间(单位毫秒)
      new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {
      Intent intent = new Intent(getApplicationContext(), DengluActivity.class);
      startActivity(intent);
      finish();
      }
      }, 3000);
      # layout 中的代码
        <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/welcom"
        android:orientation="vertical">
        <!-- 首先需要在再raw/drawable下发一张自己想要的开机图片,然后通过背景图片的方式实现图片的展示-->
        </LinearLayout>

        这样的话开机图片就设置完成了,看一下效果吧!!!>>>>>>>>>>


        2、带背景音乐的开机图片

        与单纯的只有一个开机图片唯一的不同点就是多了一个MediaPlayer,话不多少上代码

        在写代码之前需要在res包下创建一个raw文件用来储存音乐文件。创建好之后的文件结构

        # Activity中的代码

            * 有两种实现方式,只有activity中的代码改变,layout中的代码不变

            1、当计时结束时跳转页面

          import android.app.Activity;
          import android.content.Intent;
          import android.media.MediaPlayer;
          import android.os.Bundle;
          import android.os.Handler;
          import android.view.Window;
          import android.view.WindowManager;


          public class MainActivity extends Activity {


          @Override
          protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          //去除activity上边的框框
          requestWindowFeature(Window.FEATURE_NO_TITLE);
          //设置全屏显示
          getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
          WindowManager.LayoutParams.FLAG_FULLSCREEN);
          setContentView(R.layout.activity_main);
          //创建MediaPlear对象 tip:这里使用的create(context,resid)方法创建一个MediaPlayer对象。参数:context当前上下文;resid音乐文件路径
          final MediaPlayer mediaPlayer=MediaPlayer.create(MainActivity.this, R.raw.yanyuan);
          //开始播放音乐
          mediaPlayer.start();


          /*
          第一种方式,当达到规定时间之后跳转页面并且关闭音乐
          */
          //设置三秒后跳转
          new Handler().postDelayed(new Runnable() {
          @Override
          public void run() {
          //第一个参数,当前上下文。第二个参数,计时结束之后开启的页面
          Intent intent = new Intent(getApplicationContext(), DengluActivity.class);
          //当计时结束关闭音乐并且跳转页面
          mediaPlayer.stop();
          mediaPlayer.reset();
          startActivity(intent);
          finish();
          }
                  }, 3000);
              }
          }

            2、当音乐播放完毕时跳转页面

            import android.app.Activity;
            import android.content.Intent;
            import android.media.MediaPlayer;
            import android.os.Bundle;
            import android.os.Handler;
            import android.view.Window;
            import android.view.WindowManager;


            public class MainActivity extends Activity implements MediaPlayer.OnCompletionListener {


            @Override
            protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //去除activity上边的框框
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            //设置全屏显示
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
            setContentView(R.layout.activity_main);
            //创建MediaPlear对象 tip:这里使用的create(context,resid)方法创建一个MediaPlayer对象。参数:context当前上下文;resid音乐文件路径
            MediaPlayer mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.yanyuan);
            //开始播放音乐
                    mediaPlayer.start();
            /*
            第二种方式,当音乐播放完毕跳转页面
            */
            //设置音乐是否播放完毕的监听
            mediaPlayer.setOnCompletionListener(this);
            }


            @Override
            public void onCompletion(MediaPlayer mp) {
            //第一个参数,当前上下文。第二个参数,计时结束之后开启的页面
            Intent intent = new Intent(getApplicationContext(), DengluActivity.class);
            startActivity(intent);
            finish();
            }
            }

            # layout 中的代码

              <?xml version="1.0" encoding="utf-8"?>
              <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="@drawable/welcom"
              android:orientation="vertical">
              <!-- 首先需要在再raw/drawable下发一张自己想要的开机图片,然后通过背景图片的方式实现图片的展示-->
              </LinearLayout>

              3、开机视频

              跟开机音乐的第二种写法类似,需要设置一个视频播放完毕的监听,然后在视频播放完毕之后跳转页面,开机视频需要使用一个VideoView组件。

                //创建VideoView对象
                VideoView videoView=findViewById(R.id.videoview);
                //调用VideoView中的setVideoURI方法设置视频文件路径
                videoView.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.yanyuan));
                //开始播放视频
                videoView.start();
                //紧接着设置播放完毕监听,同音乐播放完毕监听一样,自己慢慢悟吧

                layout对应的需要添加一个VideoView组件

                  <VideoView
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:id="@+id/videoview"
                  >


                  来张开机效果图》》》》》》》》》》》》》》》》》》》》》》》》》




                  文章转载自攻城狮VLOG,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论