欢迎界面 首先同理把欢迎界面的图片导入到drawable目录下,在导入时 Android Studio 会提示如下
drawable
具体本人尚未弄明白,待理解后会重新补全本部分内容,在此本人选了第一个
然后创建一个包名为activity的包,在activity下创建SplashActivity
SplashActivity
此时会发现 R 报红,只需要将光标锁定到R之后即会提示需要导入R包,如未提示,则手动敲击 Alt+Enter 选中 import class 即可导入
R报红
再而处理代码部分
- SplashActivity
- package cn.edu.lt.android.boxueguapp.activity;
-
- import android.content.Intent;
- import android.content.pm.ActivityInfo;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.widget.TextView;
-
- import java.util.Timer;
- import java.util.TimerTask;
-
- import cn.edu.lt.android.boxueguapp.MainActivity;
- import cn.edu.lt.android.boxueguapp.R;
-
- public class SplashActivity extends AppCompatActivity {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_splash);
- //设置此界面为
- // 竖屏
- setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
- init();
- }
-
- private void init() {
- TextView tv_version = (TextView)findViewById(R.id.tv_version);
- try {
- PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
- tv_version.setText("V" + packageInfo.versionName);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- tv_version.setText("V");
- }
-
- //利用timer让此界面延迟3秒后跳转,timer有一个线程,该线程不断执行task
- Timer timer = new Timer();
- //TimerTask实现runnable接口,TimerTask类表示在一个指定时间内执行的task
- TimerTask timerTask = new TimerTask() {
- @Override
- public void run() {//发送intent实现页面跳转,第一个参数为当前页面的context,第二个参数为要跳转的主页
- Intent intent = new Intent(SplashActivity.this, MainActivity.class);
- startActivity(intent);
- SplashActivity.this.finish();//跳转后关闭当前欢迎页面
- }
- };
- timer.schedule(timerTask,3000);//调度执行timerTask,第二个参数传入延迟时间(毫秒)
-
- }
- }
- 复制代码
创建 Activity 时同时自动创建了一个布局文件,首先修改为 RelativeLayout 布局
具体代码如下:
- activity_splash.xml
- <?xml version="1.0" encoding="utf-8"?>
- <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="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="@android:color/white"
- android:textSize="14sp"
- android:layout_centerInParent="true"/><!--显示版本号-->
-
- </RelativeLayout>
- 最后在清单文件 AndroidManifest.xml 中配置欢迎界面,将应用入口修改为欢迎界面,再去除 ActionBar 效果
-
- AndroidManifest.xml
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="cn.edu.lt.android.boxueguapp">
-
- <application
- android:allowBackup="true"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
- android:supportsRtl="true"
- android:theme="@style/Theme.AppCompat.NoActionBar">
- <!--原为android:theme="@style/AppTheme"--><!--去除ActionBar标题栏-->
- <activity android:name=".MainActivity">
- </activity>
- <activity android:name=".activity.SplashActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
-
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
-
- </manifest>
- 复制代码