当前位置:   article > 正文

Android项目实战欢迎界面

android activityinfo import

欢迎界面 首先同理把欢迎界面的图片导入到drawable目录下,在导入时 Android Studio 会提示如下

drawable

具体本人尚未弄明白,待理解后会重新补全本部分内容,在此本人选了第一个

然后创建一个包名为activity的包,在activity下创建SplashActivity

SplashActivity

此时会发现 R 报红,只需要将光标锁定到R之后即会提示需要导入R包,如未提示,则手动敲击 Alt+Enter 选中 import class 即可导入

R报红

再而处理代码部分

  1. SplashActivity
  2. package cn.edu.lt.android.boxueguapp.activity;
  3. import android.content.Intent;
  4. import android.content.pm.ActivityInfo;
  5. import android.content.pm.PackageInfo;
  6. import android.content.pm.PackageManager;
  7. import android.support.v7.app.AppCompatActivity;
  8. import android.os.Bundle;
  9. import android.widget.TextView;
  10. import java.util.Timer;
  11. import java.util.TimerTask;
  12. import cn.edu.lt.android.boxueguapp.MainActivity;
  13. import cn.edu.lt.android.boxueguapp.R;
  14. public class SplashActivity extends AppCompatActivity {
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.activity_splash);
  19. //设置此界面为
  20. // 竖屏
  21. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  22. init();
  23. }
  24. private void init() {
  25. TextView tv_version = (TextView)findViewById(R.id.tv_version);
  26. try {
  27. PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
  28. tv_version.setText("V" + packageInfo.versionName);
  29. } catch (PackageManager.NameNotFoundException e) {
  30. e.printStackTrace();
  31. tv_version.setText("V");
  32. }
  33. //利用timer让此界面延迟3秒后跳转,timer有一个线程,该线程不断执行task
  34. Timer timer = new Timer();
  35. //TimerTask实现runnable接口,TimerTask类表示在一个指定时间内执行的task
  36. TimerTask timerTask = new TimerTask() {
  37. @Override
  38. public void run() {//发送intent实现页面跳转,第一个参数为当前页面的context,第二个参数为要跳转的主页
  39. Intent intent = new Intent(SplashActivity.this, MainActivity.class);
  40. startActivity(intent);
  41. SplashActivity.this.finish();//跳转后关闭当前欢迎页面
  42. }
  43. };
  44. timer.schedule(timerTask,3000);//调度执行timerTask,第二个参数传入延迟时间(毫秒)
  45. }
  46. }
  47. 复制代码

创建 Activity 时同时自动创建了一个布局文件,首先修改为 RelativeLayout 布局

具体代码如下:

  1. activity_splash.xml
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width = "match_parent"
  5. android:layout_height="match_parent"
  6. android:background="@drawable/launch_bg">
  7. <TextView
  8. android:id="@+id/tv_version"
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:textColor="@android:color/white"
  12. android:textSize="14sp"
  13. android:layout_centerInParent="true"/><!--显示版本号-->
  14. </RelativeLayout>
  15. 最后在清单文件 AndroidManifest.xml 中配置欢迎界面,将应用入口修改为欢迎界面,再去除 ActionBar 效果
  16. AndroidManifest.xml
  17. <?xml version="1.0" encoding="utf-8"?>
  18. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  19. package="cn.edu.lt.android.boxueguapp">
  20. <application
  21. android:allowBackup="true"
  22. android:icon="@mipmap/ic_launcher"
  23. android:label="@string/app_name"
  24. android:roundIcon="@mipmap/ic_launcher_round"
  25. android:supportsRtl="true"
  26. android:theme="@style/Theme.AppCompat.NoActionBar">
  27. <!--原为android:theme="@style/AppTheme"--><!--去除ActionBar标题栏-->
  28. <activity android:name=".MainActivity">
  29. </activity>
  30. <activity android:name=".activity.SplashActivity">
  31. <intent-filter>
  32. <action android:name="android.intent.action.MAIN" />
  33. <category android:name="android.intent.category.LAUNCHER" />
  34. </intent-filter>
  35. </activity>
  36. </application>
  37. </manifest>
  38. 复制代码
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号