飞道的博客

基于eclipse的android项目实战—博学谷(一)欢迎界面

473人阅读  评论(0)
本项目是用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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场