欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

安卓项目欢迎界面效果制作(界面显示应用版本信息)

程序员文章站 2024-03-23 08:13:40
...

(1)创建一个工程

(2)将欢迎界面所需的图片导入到drawable文件夹中(这里我的背景图为launch_bg)

(3)创建一个欢迎的activity界面(这里我创建的命名为SplashActivity)

(4)欢迎界面布局文件代码(activity_splash.xml):

注意:使用的是相对布局  <TextView>标签用于显示应用版本信息

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/launch_bg">

    <TextView
        android:id="@+id/tv_version"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:textColor="@android:color/background_dark"
        />

</RelativeLayout>

安卓项目欢迎界面效果制作(界面显示应用版本信息)

(5)SplashActivity代码:

public class SplashActivity extends AppCompatActivity {
    private TextView tv_version;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//设置屏幕显示方向为竖屏
        init();
    }
    private void init()
    {
        tv_version=(TextView)findViewById(R.id.tv_version);
        try{
            PackageInfo info=getPackageManager().getPackageInfo(getPackageName(),0);//getPackageManager()获取设备安装应用程序包对象 
            // getPackageInfo:根据包名获取此处flag标签
            tv_version.setText("V"+info.versionName);//程序版本信息
            tv_version.setTextSize(25);

        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            tv_version.setText("V");
        }
        
        /*此段代码作用是让程序在欢迎界面停留3秒之后跳转到MainActivity界面*/
        Timer timer=new Timer();//Timer类是JDK中提供的一个定时器功能,使用时会在主线程之外开启一个单独的线程执行指定任务,任务可以执行一次或者多次
        TimerTask task=new TimerTask() {//TimerTask类是一个实现了Runnable接口的抽象类,同时代表一个可以被Timer执行的任务
            @Override
            public void run() {//跳转主界面的任务代码写在TimerTask的run()方法中
                Intent intent =new Intent(SplashActivity.this,MainActivity.class);
                startActivity(intent);
                SplashActivity.this.finish();
            }
        };
        timer.schedule(task,3000);//timer.schedule用于开启TimerTask类 传递两个参数,第一个参数为TimerTask的对象,第二个参数为TimerTask和run()之间的时间差为3秒。
    }//即执行TimerTask后停留3秒,执行run()

    }

安卓项目欢迎界面效果制作(界面显示应用版本信息)

(6)效果预览:

安卓项目欢迎界面效果制作(界面显示应用版本信息)