在许多的Android App中,我们点击进入时,都可以看到一个欢迎页面,大概持续了几秒,然后跳转至主页面。以下是我开发过程中总结出的一些方法和例子。
一、创建一个新的Activity
首先,新建了一个新的项目之后,这个项目只自带了一个MainActivity,然后使用右键点击MainActivity往上的java文件夹,然后点击New,再点击Activity,选择Empty Activity,就可以新建出一个新的Activity,然后使新建的Activity继承AppCompatActivity类,这里命名为Welcome。
二、在新的Activity的布局文件中放入图片
在res-->layout文件夹中点开新建的Activity的布局文件,可以加入以下代码:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/ic_launcher"/>
其中,android:src中放入的是图片的名称。
三、设置布局的启动顺序
首先,打开项目的Manifest.xml文件,然后调整代码:
package="com.example.dell.myapplication"> <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/AppTheme">
四、在欢迎页面的Activity中设置界面
//设置全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
//隐藏顶部标题栏
getSupportActionBar().hide();
通过以上两条代码可以实现欢迎页面的全屏和隐藏它的标题栏,使得页面更加美观。
到这里,项目的布局已经完成,接下来开始对显示3秒欢迎页面再跳转至首页进行实现。
五、使用Handler类实现显示3秒进行页面跳转
Handler 主要用于异步消息的处理。当发出一个消息之后,就会先进入消息队列,发送消息的函数会立刻返回,而另外一部分则将消息取出,然后进行处理。而这里,主要是用到Handler中的sendEmptyMessageDelayed方法。
首先,重写Handler类中handleMessage()方法。
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg){
//实现页面的跳转 Intent intent=new Intent(Welcome.this,testMainActivity.class); startActivity(intent); finish(); super.handleMessage(msg); } };
然后,在Activity中的onCreate()中调用sendEmptyMessageDelayed方法
//设置延时时间
handler.sendEmptyMessageDelayed(0,3000);
这样,一个简单的App的欢迎页面就完成了。