本项目是用eclipse软件编写,经过我的亲自实践,其真实有效,希望能给您有所帮助😘😘 项目版本:android5.1.1 AVD建议:android4.4.2及以上 |
博学谷项目的欢迎界面主要展示产品Logo和版本信息,本项目设置欢迎界面暂停3秒后再跳转
欢迎界面的效果图如图所示:
1.创建项目
首先创建一个工程,将其命名为BoXueGu,指定包名为china.ynyx.heyunhui。具体步骤请看:怎样用eclipse新建一个android项目?
2.导入界面图片(项目图片请加关注私聊我)
在res下新建一个drawable文件夹,将需要的背景图片register_bg.jpg导入该文件夹中
3.创建欢迎界面布局文件
在res目录下的layout文件夹新建一个activity_splash.xml
文件。右击并选择“New”–“other”–“android”–“Android XML File”
具体代码: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控件用于显示版本号信息-->
<TextView
android:id="@+id/tv_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="@android:color/white"
android:textSize="14sp"/>
<!--android:layout_centerInParent="true"属性将TextView置于父控件的中心位置-->
</RelativeLayout>
4.欢迎界面的逻辑代码
在src目录下新建类SplashActivity.java
文件,选中项目右击并选择“New”→“class”
具体代码如下:SplashActivity.java
package china.ynyx.heyunhui.activity;
import java.util.Timer;
import java.util.TimerTask;
import android.support.v7.app.AppCompatActivity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.widget.TextView;
import china.ynyx.heyunhui.MainActivity;
import china.ynyx.heyunhui.R;
public class SplashActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
//设置此界面为竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
init();
}
private void init() {
// TODO Auto-generated method stub
TextView tv_version=(TextView)findViewById(R.id.tv_version);
try {
//获取程序包信息
PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 0);//getPackageManager()获取设备安装应用程序包对象
// getPackageInfo:根据包名获取此处flag标签
tv_version.setText("V" + info.versionName);//程序版本信息
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
tv_version.setText("V");
}
//利用timer让此界面延迟3秒后跳转,timer有一个线程,这个线程不断执行task
Timer timer=new Timer();//Timer类是JDK中提供的一个定时器功能,使用时会在主线程之外开启一个单独的线程执行指定任务,任务可以执行一次或者多次
//TimerTask实现runnable接口,TimerTask类表示在一个指定时间内执行的task
TimerTask task=new TimerTask() {
@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秒。
//设置这个task在延迟3秒后自动执行
}
}
5.修改清单文件AndroidManifest.xml
去掉程序默认标题栏:
android:theme="@style/Theme.AppCompat.NoActionBar"
设置欢迎界面指定为程序默认启动界面:
<activity
android:name="china.ynyx.heyunhui.activity.SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
将.MainActivity
换成china.ynyx.heyunhui.activity.SplashActivity
,然后下面再将MainActivity
注册:<activity android:name="china.ynyx.heyunhui.MainActivity"></activity>
具体代码:AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="china.ynyx.heyunhui"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="28" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.NoActionBar">
<activity
android:name="china.ynyx.heyunhui.activity.SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="china.ynyx.heyunhui.MainActivity"></activity>
</application>
</manifest>
参考资料:《android项目实战——博学谷》(黑马程序员著)
转载:https://blog.csdn.net/hyh17808770899/article/details/105468623
查看评论