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

(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)效果预览:


猜你喜欢

转载自blog.csdn.net/qq_36408196/article/details/79796430